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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Hacer referencia a diferentes tablas al crear una medida

Estoy tratando de crear una medida dentro de una tabla llamada 'Todas las ventas'. La Medida debe calcular la relación entre las veces que aparece "1" en la columna [Ventas] de la tabla 'Números de ventas' y el número de registros (es decir, filas) en la tabla 'Todas las ventas'. No quiero copiar la columna Ventas en la tabla Todas las ventas para mantener los archivos de datos pequeños, por lo tanto, use Medir y no agregue una columna. El problema es que cuando se usan las declaraciones Countrows o If, no me permiten hacer referencia a ninguna columna fuera de la tabla 'Todas las ventas'.

La fórmula que pensé (junto con otras versiones de mayo dice así:

Medida = DIVIDIR((COUNTROWS('Ventas'['Números de ventas'], == "1")), COUNTROWS('Todas las ventas'))
Tabla 'Número de ventas'
ID de registroVentas
11
23
35
41

Tabla 'Todas las ventas'

ID de registroVendido
17
24
39
43
58

Por lo tanto, la medida resultante debe = 2/5 = 2.5

Gracias por la ayuda, ya que sé que tiene que haber una manera fácil

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola

Cree una tabla de una sola columna denominada Registros con solo un ID de registro único en esa tabla. Cree una relación (Mnay a One y Single) desde la columna RecordID de las 2 tablas de datos a la columna RecordID de la nueva tabla. Escribe estas medidas y arrastra la última a un visual de tarjeta

Medida1 = calcular(COUNTROWS('ventas'),'Ventas'['Números de ventas'], == "1")

Measure2 = COUNTROWS('Todas las ventas')

medida3 = dividir([Medida1],[Medida2])

Espero que esto ayude.

Syndicate_Admin
Administrator
Administrator

Lea acerca de CALCULATE()

OK, creo que con las sugerencias anteriores y corrigiendo la sintaxis lo he resuelto.

Como dice Ahsish Mathur, puedes crear dos medidas separadas y luego dividirlas. Esto hace que sea más fácil de seguir. Originalmente quería evitar esto para minimizar el tiempo de procesamiento de 3 medidas al cargar en millones de situaciones de datos de fila y crear más elementos en la sección Campos.

Entonces, combinando esto en una ecuación se lee:

Medida = DIVIDIR(COUNTROWS('Todas las ventas'), CALCULAR(COUNTROWS('Ventas'),'Ventas'[Números de ventas] == "1"))
Así que el punto clave para los demás si estoy en lo correcto:
COUNTROWS solo cuenta las filas de una tabla, no una columna, por lo que solo puede hacer referencia a tablas.
Para encontrar la cantidad de valores específicos en una columna, filtre la tabla usando CALCULATE y luego cuente las filas restantes.
Así que:
CALCULATE(COUNTROWS('Ventas'),'Ventas'[Números de ventas] == "1"
dice así:
Cuente las filas que quedan en la tabla Ventas después del filtro Números de ventas = 1. Donde el término CALCULATE crea el filtro , no COUNTROWS.
Pensamiento interesante sin embargo. ¿Usar el método de 3 medidas sería tan rápido de cargar como el método de 1 medida?

Use DAX Studio para examinar los planes de consulta.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.