Forum Discussion
Dax
Estimado @v-zhenbw-msft ,
siguientes son mis datos
1)La primera tabla es la tabla de índice
| Id | Nombre | Modelo |
| 1 | A | Alfa |
| 2 | B | Alfa |
| 3 | C | Bravo |
| 4 | D | Bravo |
| 5 | E | Charlie |
2)Segundo es la tabla de datos
| Fecha | Nombre | Hp | Op |
| 7/1/2020 | A | 23 | 22 |
| 7/2/2020 | A | 20 | 19 |
| 7/3/2020 | A | 20 | 29 |
| 7/4/2020 | A | 22 | 40 |
| 7/5/2020 | A | 21 | 100 |
| 7/1/2020 | B | 22 | 50 |
| 7/2/2020 | B | 21 | 50 |
| 7/3/2020 | B | 23 | 100 |
| 7/4/2020 | B | 22 | 23 |
| 7/5/2020 | B | 20 | 17 |
| 7/1/2020 | C | 23 | 20 |
| 7/2/2020 | C | 21 | 17 |
| 7/3/2020 | C | 22 | 15 |
| 7/4/2020 | C | 21 | 14 |
| 7/5/2020 | C | 23 | 12 |
| 7/1/2020 | D | 21 | 100 |
| 7/2/2020 | D | 22 | 50 |
| 7/3/2020 | D | 21 | 50 |
| 7/4/2020 | D | 23 | 100 |
| 7/5/2020 | D | 22 | 23 |
| 7/1/2020 | E | 20 | 17 |
| 7/2/2020 | E | 23 | 20 |
| 7/3/2020 | E | 23 | 17 |
| 7/4/2020 | E | 23 | 50 |
| 7/5/2020 | E | 23 | 100 |
Ahora lo que quiero como salida es
Recuento total del modelo <0.25 0.25-0.50 0.50-0.75 >0.75
Alfa 2 2
Bravo 2 1 1
Charlie 1 1
por favor también explique su código de la función del interruptor que no entendí
Hola @Sujit_Thakur ,
¿Desea contar el número de modelo o el número de nombre?
Podemos crear dos medidas y utilizar las siguientes maneras de satisfacer sus requisitos.
1. Cree una columna Modelo en la tabla de datos.
Model = CALCULATE(MAX('index table'[Model]),FILTER('index table','index table'[Name]='data table'[Name]))
2. Cree una nueva tabla.
Table = CROSSJOIN(VALUES('index table'[Model]),{"<0.25","0.25-0.5","0.5-0.75",">0.75","Total"})
3. Si desea contar el número de Nombre,puede utilizar la siguiente medida.
Measure =
var _025 = CALCULATE(COUNT('data table'[Name]),FILTER('data table',[Test]<0.25 && 'data table'[Model]=MAX('Table'[Model])))
var _025_05 = CALCULATE(COUNT('data table'[Name]),FILTER('data table',[Test]>=0.25&&[Test]<0.5 && 'data table'[Model]=MAX('Table'[Model])))
var _05_075 = CALCULATE(COUNT('data table'[Name]),FILTER('data table',[Test]>=0.5&&[Test]<0.75 && 'data table'[Model]=MAX('Table'[Model])))
var _075 = CALCULATE(COUNT('data table'[Name]),FILTER('data table',[Test]>=0.75&& 'data table'[Model]=MAX('Table'[Model])))
return
SWITCH(
TRUE(),
MAX('Table'[Value]) = "<0.25",_025,
MAX('Table'[Value]) = "0.25-0.5",_025_05,
MAX('Table'[Value]) = "0.5-0.75",_05_075,
MAX('Table'[Value]) = ">0.75",_075,
MAX('Table'[Value]) = "Total",_025+_025_05+_05_075+_075)
4. Si desea contar el número de modelo, puede utilizar la siguiente medida.
Measure 2 =
var _025 = CALCULATE(DISTINCTCOUNT('data table'[Model]),FILTER('data table',[Test]<0.25 && 'data table'[Model]=MAX('Table'[Model])))
var _025_05 = CALCULATE(DISTINCTCOUNT('data table'[Model]),FILTER('data table',[Test]>=0.25&&[Test]<0.5 && 'data table'[Model]=MAX('Table'[Model])))
var _05_075 = CALCULATE(DISTINCTCOUNT('data table'[Model]),FILTER('data table',[Test]>=0.5&&[Test]<0.75 && 'data table'[Model]=MAX('Table'[Model])))
var _075 = CALCULATE(DISTINCTCOUNT('data table'[Model]),FILTER('data table',[Test]>=0.75&& 'data table'[Model]=MAX('Table'[Model])))
return
SWITCH(
TRUE(),
MAX('Table'[Value]) = "<0.25",_025,
MAX('Table'[Value]) = "0.25-0.5",_025_05,
MAX('Table'[Value]) = "0.5-0.75",_05_075,
MAX('Table'[Value]) = ">0.75",_075,
MAX('Table'[Value]) = "Total",_025+_025_05+_05_075+_075)
La función SWITCH significa que cuando la columna actual es igual a un valor determinado,genere el valor correspondiente.
Por ejemplo, cuando Table[Value] á "<0.25", el valor se ajusta a <0.25.
Si no cumple con sus requisitos, ¿podría mostrar el resultado esperado exacto basado en la tabla que ha compartido?
Saludos
Equipo de apoyo a la comunidad _ zhenbw
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
BTW, pbix como adjunto.
- Sujit_Thakur6 years ago
Solution Sage
Gracias @v-zhenbw-msft
Usted me ha ayudado mucho .
Una última duda,
¿Qué pasa si mis datos crecen, obstaculizará la velocidad de cálculo de visualización?
Como ahora tengo sólo 5 nombres, ¿qué pasa si mañana obtengo datos para 5000 nombres entonces la tabla de cruces tendría un tamaño de casi 25000 filas ? Sólo quería preguntar si esto obstaculizará la eficiencia de mis modelos ? ¿Sobre cuánto espacio se necesitará?
Por favor, ayuda
- v-zhenbw-msft6 years ago
Community Support
Hola @Sujit_Thakur ,
Lo sentimos por eso no hemos probado cuánto espacio ocupa cuando se agrupa.
Tiene poco efecto en la velocidad de visualización, si sus datos no son muy grandes, pero recuerdeque más datos que un objeto visual necesita mostrar, más lento que visual debe cargar.
Saludos
Equipo de apoyo a la comunidad _ zhenbw
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.