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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Anonymous
Not applicable

Dax Ayuda para unirse a sí mismo

Hola Expertos,

Estoy tratando de crear una medida desde debajo de TSQl que tiene auto unión en la misma tabla.

¿podría por favor ayudarme en conseguir su código DAX equivalente.

SELECT   
 COUNT(t1.[Cargo Id]) as SHIIPED_COUNT FROM
 
 EDW.Inv_Fact_Inventory t1 
JOIN 
 EDW.Inv_Fact_Inventory t2
ON 
 t1.[Cargo Id]=t2.[Cargo Id]
WHERE 
 t1.[Status Code]='SHIP' and t1.dashboard='Shipped Inventory'   
AND t1.[Ship Date] = t1.[Tender Date]
AND t1.[Ship Date] = CAST('2020-07-30' as date)
AND t2.[Status Code]='Tender'
AND t1.RAIL_HEAD_NUMBER = t2.RAIL_HEAD_NUMBER

Soy nuevo en DAX, por favor aconseje.

12 REPLIES 12
Greg_Deckler
Super User
Super User

No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

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

Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.

Podría probar NATURALLEFTOUTERJOIN


Follow on LinkedIn
@ 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...
Anonymous
Not applicable

Aquí está mi mesa:

Id. de cargaCódigo de estadoFecha de licitaciónFecha de envíoUbicación
3FAAAAAA12Tierno2020-07-09Null120
3N1CPAAA23Tierno2020-07-04Null086
JN1BJ1CCCCnavío2020-06-192020-06-22005
3GKALPEEEETierno2020-07-30Null01
3GKALPEEEEnavío2020-07-302020-07-3001
YS2R6XXXXTierno2020-07-30Null403
YS2R6XXXXnavío2020-07-302020-07-30403
3GNCJLLLLLTierno2020-07-30Null02
3GNCJLLLLLnavío2020-07-302020-07-3002

Aquí está la salida que necesitaba:

Recuento de unidades de carga que fueron enviadas y licitadas (Estado como 'Envío' y 'Tender') en la misma fecha (Fecha de envío es igual a Fecha de licitación) desde la misma ubicación.

Así que de la tabla de muestra anterior las últimas tres unidades de carga coinciden con el requisito, por lo que debe devolver el recuento de : 3

Utilizo el siguiente TSQL para lograr la salida, pero necesito ayuda para implementar lo mismo en DAX

SELECT   
 Count(t1.[cargo id])
 
 FROM
 
 EDW.Inv_Fact_Inventory t1 
JOIN 
 EDW.Inv_Fact_Inventory t2
ON 
 t1.[Cargo Id]=t2.[Cargo Id]
WHERE 
 t1.[Status Code]='SHIP'    
AND t1.[Ship Date] = t1.[Tender Date]
AND t1.[Ship Date] = CAST('2020-07-30' as date)
AND t2.[Status Code]='Tender'
AND t1.Location = t2.Location

Hola @sarthaks ,

Por favor, intente esto:

Measure =
COUNTROWS (
    FILTER (
        'Inv_Fact_Inventory',
        'Inv_Fact_Inventory'[Ship Date] = 'Inv_Fact_Inventory'[Tender Date]
            && 'Inv_Fact_Inventory'[Status Code] IN { "SHIP", "TENDER" }
    )
)

v-xuding-msft_0-1596174246928.png

Best Regards,
Xue Ding
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Pero, ¿cómo me aseguro de que la ubicación para los partidos enviados y licitados.

Hola @sarthaks ,

Dado que las columnas son de una tabla, para la misma fila, son de la misma ubicación. No necesitamos añadir otras condiciones. Por ejemplo, para Id 3GKALPEEEE, los datos que cumplen la condición de igual fecha (2020/7/30) se encuentran en la misma ubicación(1).

1.PNG

Best Regards,
Xue Ding
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

El negocio soporta las siguientes condiciones:

La unidad de carga se puede licitar desde un lugar específico, digamos 01, pero se puede enviar desde diferentes ubicaciones, digamos 403 con una fecha de envío diferente.

Así que en ese caso necesito un filtro adicional sólo para asegurarse de que la ubicación de Enviado y Licitado son los mismos, aparte de la fecha de envío y la fecha de licitación. A partir de datos de muestra para CargoId: 3GNCJLLLLL debe asegurarse de que la ubicación licitada y la ubicación enviada también coinciden

Capture.JPG

Hola @sarthaks ,

La segunda fila no cumple la condición de que la fecha de envío sea igual a Fecha de licitación. No se contará aunque su ubicación es la misma.

Si esa fórmula no puede funcionar en su informe real, podría probar esta. Agredo una condición de ubicación.

Measure = 
COUNTROWS (
    FILTER (
        'Inv_Fact_Inventory',
        'Inv_Fact_Inventory'[Ship Date] = 'Inv_Fact_Inventory'[Tender Date]
            && 'Inv_Fact_Inventory'[Status Code] IN { "SHIP", "TENDER" }
            && Inv_Fact_Inventory[Location] = MAX(Inv_Fact_Inventory[Location])
    )
)

Best Regards,
Xue Ding
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Al aplicar este filtro, no devuelve ningún resultado

Inv_Fact_Inventory[Location] = MAX(Inv_Fact_Inventory[Location])

Hola @sarthaks,

La siguiente fórmula identificará las coincidencias, luego puede crear una medida para resumir la columna, Una cosa que modifiqué en sus datos fue reemplazar fechas de envío nulas con '1900-01-01'

Match Count = 
var shipDate = [Ship Date]
var statusCode = [Status Code]
var location = [Location]
return 
CALCULATE(COUNTROWS('Table'), FILTER(ALL('Table'), 'Table'[Tender Date] = shipDate && 'Table'[Status Code] = "Tender" && 'Table'[Location] = location))

Espero que esto ayude


¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Anonymous
Not applicable

Sólo una consulta:

Cómo estas variables están obteniendo valores, no soy capaz de entender desde la siguiente declaración

var shipDate = [Ship Date]
var statusCode = [Status Code]
var location = [Location]

Por favor, calrify

Las variables establecen el valor que se utilizará en la parte del filtro del cálculo en el contexto de la fila que se va a evaluar

Por lo tanto, esencialmente, lo que está haciendo la columna calc es decir, cuente el número de filas en toda la tabla, donde la ubicación es la ubicación en la fila actual y el estado: el estado de la fila actual y la fecha de licitación, la fecha de envío en la fila actual.

¿Tiene sentido?


¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!
¿Mis respuestas ayudaron a llegar a una solución? Dale un kudos haciendo clic en Thumbs Up!



I hope this helps,
Richard

Did I answer your question? Mark my post as a solution! Kudos Appreciated!

Proud to be a Super User!


Anonymous
Not applicable

sería útil ver el modelo en el que está tratando de crear esta medida

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

PBI_Carousel_NL_June

Fabric Community Update - June 2024

Get the latest Fabric updates from Build 2024, key Skills Challenge voucher deadlines, top blogs, forum posts, and product ideas.

Top Solution Authors
Top Kudoed Authors