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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

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
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

Dec Fabric Community Survey

We want your feedback!

Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors