Forum Discussion
Cómo combinar dos medidas
Hola a todos,
Mi tabla sigue esta estructura:
| Artículos | Código | Clasificación |
| Xxx | 5 | D |
| Xxx | 3 | D |
| Yyy | 3 | H |
| Zzz | 2 | D |
| Zzz | 1 | K |
| Zzz | 2 | D |
Tengo dos medidas:
* measure1 es una medida que me trae un recuento DISTINCT de todos los artículos que tienen una clasificación K o H o R. (sólo para la clasificación H, el conteo sólo se hace si el Código no es 3)
measure1 - CALCULATE(DISTINCTCOUNT(table[Items]),FILTER(table, IF(SEARCH("K",table[Classification],,0) && NOT( SEARCH("3",table[Code],,0)),TRUE,FALSE) SEARCH("H", tabla[Clasificación],,0 ? SEARCH("R", tabla[Clasificación],,0) ),TRUE,FALSE)))
*measure2 es una medida que cuenta todos los elementos DISTINCT de mi tabla que tienen códigos 1 o 2 o 3.
measure2 - CALCULATE(DISTINCTCOUNT(table[Items]),FILTER(table, IF(table[Code]-"1" á table[Code]-"2" á table[Code]-"3" ,TRUE,FALSE)))
Quiero fusionar estas dos medidas de manera que las condiciones de la medida2 se puedan llevar a cabo SOLAMENTE en los elementos traídos por measure1. Basándose en la tabla de ejemplo anterior, el nuevo measeure debe traerme el valor 1, porque sólo el elemento ZZZ coincide con las dos medidas.
¿Alguien puede ayudarme?
hola @req7
para lamedura combinada, podría probar esta lógica simple:
MergedMeasure = CALCULATE(DISTINCTCOUNT('Table'[Items]),FILTER('Table',[measure1]*[measure2]<>BLANK()))Por cierto, su medida1 es incorrecta, podría usar la medida1 de DataZoe en lugar de la suya.
saludos
Lin
2 Replies
- DataZoe
Microsoft Employee
@req7 Creo que esto es lo que estás buscando:
Medida combinada (Combo Measure)
IF ( ISBLANK ( [Medida 2] ), BLANK (), [Medida 1] )También redifiqué tu Medida 1 y Medida 2, lo que habías escrito no funcionó para mí.
Medida 1 ?
CALCULAR (
DISTINCTCOUNT ( 'Tabla'[Artículos] ),
FILTRO (
'Mesa',
'Tabla'[Clasificación] EN "K", "R"
|| ( 'Tabla'[Clasificación] - "H"
&& 'Tabla'[Código] <> 3 )
)
)Medida 2 ?
CALCULAR (
DISTINCTCOUNT ( 'Tabla'[Artículos] ),
FILTRO ( 'Tabla', 'Tabla'[Código] EN S 1, 2, 3 ? )
)
- v-lili6-msft
Community Support
hola @req7
para lamedura combinada, podría probar esta lógica simple:
MergedMeasure = CALCULATE(DISTINCTCOUNT('Table'[Items]),FILTER('Table',[measure1]*[measure2]<>BLANK()))Por cierto, su medida1 es incorrecta, podría usar la medida1 de DataZoe en lugar de la suya.
saludos
Lin