wsspglobal
Hola,
Tengo una tabla que tiene una columna de Nombre de métrica que consta de varias métricas y una columna de Valor de métrica. Quiero calcular el puntaje z para los datos dentro de cada una de las métricas AAA, BBB y CCC. Como en realidad tengo cientos de métricas con las que lidiar en realidad, me pregunto si puedo calcular el puntaje z en una sola columna y luego usar un filtro para ver una sola métrica cuando construí el tablero. ¿O hay una mejor manera de hacerlo en Power BI? Supongo que también podría girar la tabla para obtener tres columnas separadas para AAA, BBB y CCC, pero luego tendré que escribir la misma fórmula tres veces, demasiado tedioso. ¿Algún consejo? Gracias.
Nombre de la métrica | Valor métrico |
AAA | 1.52 |
AAA | 1.90 |
AAA | 0.98 |
AAA | 1,95 |
AAA | 9.38 |
AAA | 1.68 |
AAA | 4.98 |
AAA | 8.33 |
AAA | 3.29 |
AAA | 9.98 |
BBB | 9.71 |
BBB | 6.52 |
BBB | 9.60 |
BBB | 8.17 |
BBB | 9.89 |
BBB | 4.62 |
BBB | 6.77 |
BBB | 1.38 |
BBB | 5.31 |
BBB | 5.57 |
CCC | 8.75 |
CCC | 2.17 |
CCC | 4.00 |
CCC | 2.74 |
CCC | 9.25 |
CCC | 2.71 |
CCC | 6.99 |
CCC | 9.60 |
CCC | 0.89 |
CCC | 6.94 |
sturlaws
Hola, @wsspglobal,
sí tu puedes:
z score = var _metric = CALCULATE(SELECTEDVALUE('Table'[Metric Name])) var _sampleMean = CALCULATE(AVERAGE('Table'[Metric Value]);FILTER(ALL('Table');'Table'[Metric Name]=_metric)) var _sampleSD = CALCULATE(STDEV.S('Table'[Metric Value]);FILTER(ALL('Table');'Table'[Metric Name]=_metric)) return DIVIDE('Table'[Metric Value]-_sampleMean;_sampleSD)
Salud,
Sturla
v-xicai
Hola @wsspglobal,
Puede crear columnas o medidas como DAX a continuación.
Column1= CALCULATE(SUM(Table1[Metric Value]),FILTER(ALLSELECTED(Table1), Table1[Metric Name] =EARLIER(Table1[Metric Name]))) Measure1= CALCULATE(SUM(Table1[Metric Value]),FILTER(ALLSELECTED(Table1),Table1[Metric Name]=MAX(Table1[Metric Name])))
Atentamente,
amy
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución. para ayudar a los otros miembros a encontrarlo más rápidamente.
sturlaws
Hola, @wsspglobal,
sí tu puedes:
z score = var _metric = CALCULATE(SELECTEDVALUE('Table'[Metric Name])) var _sampleMean = CALCULATE(AVERAGE('Table'[Metric Value]);FILTER(ALL('Table');'Table'[Metric Name]=_metric)) var _sampleSD = CALCULATE(STDEV.S('Table'[Metric Value]);FILTER(ALL('Table');'Table'[Metric Name]=_metric)) return DIVIDE('Table'[Metric Value]-_sampleMean;_sampleSD)
Salud,
Sturla
wsspglobal
En respuesta a sturlaws
Hola @sturlaws
No puedo escribir la última parte:
DIVIDE('Table'[Metric Value]-_sampleMean;_sampleSD)
Parece que no puedo llamar a una columna dentro de DIVIDE. Cuando traté de llamar a ‘Tabla'[Metric Value], No puedo. Por favor avise. ¡Gracias!
sturlaws
En respuesta a wsspglobal
Lo siento, olvidé mencionar que este sería el código para una columna calculada. ¿Estás tratando de hacerlo como una medida?
wsspglobal
En respuesta a sturlaws
Hola @sturlaws,
Sí, lo estaba. ¿Cómo puedo hacerlo en una medida?
sturlaws
En respuesta a wsspglobal
z score measure = VAR _metric = CALCULATE ( SELECTEDVALUE ( 'Table'[Metric Name] ) ) VAR _sampleMean = CALCULATE ( AVERAGE ( 'Table'[Metric Value] ); FILTER ( ALL ( 'Table' ); 'Table'[Metric Name] = _metric ) ) VAR _sampleSD = CALCULATE ( STDEV.S ( 'Table'[Metric Value] ); FILTER ( ALL ( 'Table' ); 'Table'[Metric Name] = _metric ) ) RETURN DIVIDE ( SUMX ( VALUES ( 'Table'[Metric Value] ); SUM ( 'Table'[Metric Value] ) ) - _sampleMean; _sampleSD )