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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

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
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

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

Top Solution Authors
Top Kudoed Authors