matemático
Hola,
basado en la última actualización del video de Power BI de la visualización SVG, aquí hay una medida que crea un KPI simple.
El usuario debe agregar una referencia para 3 valores: valor principal, objetivo y valor máximo.
Según los valores, el color del KPI cambia a verde o rojo. El usuario también puede cambiar los colores o editar la función para cambiar de color.
La categoría de medida debe ser URL de imagen.
La visualización solo funciona en tablas visuales. Espero que algún día funcione también en otras visualizaciones.
Tal vez haya un cambio para obtener una visualización simple, donde la medida DAX podría devolver código HTML para crear imágenes personalizadas.
Si te gusta la medida, úsala y mejorala. Comparta sus versiones de medida.
Código:
SVG KPI = ------------------------DATA (replace values)------------------------- VAR MainValue="Value"[Measure] VAR GoalValue="Goal"[Goal Value] VAR MaxValue="Max Value"[MaxValue] //End value of bar must be higher than value and goal VAR GoalTxt = "Goal" -----------------------COLORS-------------------- VAR ColorGood= "Green" VAR ColorBad ="Red" VAR GoalColor = "Orange" ----------------IF statement for colors------------------------------------------ VAR KPIColor = if(GoalValue<=MainValue;ColorGood;ColorBad) --------------------------------------- VAR ValuePos = MainValue/MaxValue*100 VAR GoalPos = GoalValue/MaxValue*100 VAR PicHigh = "150" VAR PicWidth ="150" ------------------- SVG code VAR SvgC = " <text x='0' y='25' font-size="35" fill=""&KPIColor&"">"&MainValue&"</text> <text x='0' y='55' font-size="25" fill="Orange">"&GoalTxt&" "&GoalValue&"</text> <rect x='0' y='70' rx='0,5' ry='20' width="100%" height="25" style="fill:white;stroke:black" /> <rect x='0' y='70' rx='0,5' ry='20' width=""&ValuePos&"%" height="25" style="fill:"&KPIColor&";stroke:black" /> <line x1='"&GoalPos&"%' y1='65' x2='"&GoalPos&"%' y2='200' style="stroke:"&GoalColor&";stroke-width:3" /> " ------------SVG - start code & end code VAR Cd1= "data:image/svg+xml;charset=utf-8," & "<svg xmlns="http://www.w3.org/2000/svg" x='0px' y='0px' width=""&PicWidth&"" height=""&PicHigh&"" viewBox = '0 0 100 100'> " VAR Cd2 = " </svg>" RETURN Cd1&SvgC&Cd2
JNordentoft
Hola, acabo de probar tu código.
Me sale una imagen rota cuando la uso.
¿Sabes si esto todavía funciona? ¿O hay una mejor manera de obtener esta imagen? Probé algunas imágenes personalizadas diferentes, pero creo que son un poco lentas.
stevedep
¡Eso es realmente genial! No sabía que podíamos (hacer un prototipo) de desarrollo visual personalizado como este. ¡Genial para crear rápidamente un visual personalizado!