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
wvadik
Helper III
Helper III

DAX suma por valores distintos

Hay dos tablas de dos orígenes de datos:

Tabla1(Campo1, Campo2, Campo3, Campo4, Campo5, Campo7)

Tabla2(Campo1, Campo2, Campo3, Campo7)

A continuación, recopilo la tabla agregada "agregate_table" como:

seleccionar t1. Campo 1, t1. Campo 2, t1. Campo3, t1. Field4, t1. Field5, t2.cnt como cnt_all, t1.cnt
de (seleccione Field1, Field2, Field3, Field4, Field5, count(distinct Field7) como cnt
de la Tabla 1
grupo por Field1, Field2, Field3, Field4, Field5) como t1
unión izquierda (seleccione Field1, Field2, Field3, count(distinct Field7) como cnt
de la Tabla 2
grupo por Field1, Field2, Field3) como t2 en t2. Campo1 a t1. Campo1 y t2. Campo2 a t1. Campo 2 y t2. Campo3 a t1. Campo3

es decir, resulta que la selección de la Tabla1 es más detallada, además de que no todas las filas de Table1 se pueden encontrar adecuadas en la Tabla2 En el modelo, es necesario hacer una medida que refleje la relación de cnt de Table1 a cnt de Table2, es decir: suma (cnt) / suma (cnt_all) de mi script. Pero es imposible resumir cnt_all, ya que no tiene en cuenta las distribuciones sobre los campos Field4 y Field5, que se encuentran en el Cuadro 1, pero no en el Cuadro 2. Voy a hacer medidas separadas para el numerador y el denominador y luego una medida general para la relación. El numerador tiene una fórmula muy simple porque debe ser influenciado por todos los campos (Field1, Field2, Field3, Field4, Field5) ¿Es posible utilizar DAX para implementar una medida que calcula la suma (cnt_all), teniendo en cuenta los filtros aplicados solo Field1, Field2, Field3 y, además, utilizando una selección única de Field1, Field2 , Field3, sum_cnt (ya que sum_cnt proviene de Table2, y hay una partición por Field1, Field2, Field3) calculará la suma (cnt_all)
en SQL:
seleccionar t1. Campo 1
T1. Campo2
T1. Campo3
T1. Campo4
T1. Campo5
, t1.cnt / t2.cnt_all como relación
de (
seleccionar Field1, Field2, Field3, Field4, Field5, sum(cnt) como cnt
de agregate_table
grupo Field1, Field2, Field3, Field4, Field5
) como t1
unión izquierda (
seleccione Field1, Field2, Field3, sum(cnt_all) como cnt_all
de (
seleccionar Field1, Field2, Field3, cnt_all distintos
de agregate_table
) como t
grupo por Field1, Field2, Field3
) como t2 en t2. Campo1 a t1. Campo1 y t2. Campo2 a t1. Campo 2 y t2. Campo3 a t1. Campo3

cómo implementarlo en DAX?

2 REPLIES 2
v-lionel-msft
Community Support
Community Support

Hola @wvadik ,

Puede usar 'Combinar consultas' para combinar primero las dos tablas.

v-lionel-msft_0-1602236376835.png

Saludos
Lionel Chen

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

lbendlin
Super User
Super User

Proporcione datos de muestra y el resultado esperado.

Tenga en cuenta que all() y VALUES() le proporcionan colecciones distintas. Al igual que SUMMARIZE()

Helpful resources

Announcements
July 2024 Power BI Update

Power BI Monthly Update - July 2024

Check out the July 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