ThomasDay
Hola a todos,
Voy a hacer uso del patrón «master slicer» que he visto en un montón. El truco es que también me gustaría almacenar un nombre de medida en una columna y «analizarlo» para usarlo en un filtro.
La tabla de segmentación maestra tendrá el siguiente formato.
Y estaré calculando un percentil para almacenar en una tabla con una fórmula similar a esta con MeasureName proveniente de la columna MeasureName:
25thPercentile = PERCENTILEX.INC (ALLSELECTED ([ProviderNo]), [MeasureName], 0,25)
Hay cientos de nombres de medidas para elegir … y cada uno tendrá un conjunto diferente de valores de filtro.
Necesito ayuda para ahorrar dinero aquí. No estoy seguro de qué hacer para que MeasureName sea dinámico.
¡Gracias por adelantado!
Tomás
Evan_at_DD
Solía haber una medida era hacer esto con MDX. Se llamaba Cadena a miembro.
Aquí está la idea que puede votar por ella: https: //ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/33095020-programmatic-change -…
Nevada
Hola @ThomasDay, gracias por comunicarte conmigo. Si he entendido bien la pregunta, lo que está tratando de hacer es bastante complejo, por lo que no puedo pensar en una solución clara para resolver esto.
Así es como he entendido esto hasta ahora:
Para simplificar, digamos que tiene 1 página de informe con 3 visualizaciones de tarjetas (percentil 25, percentil 50, percentil 75).
Desea utilizar una cortadora con más de 100 nombres de medidas, de modo que cuando seleccione una medida de la cortadora, las tres tarjetas reflejarán cada percentil calculado con esa medida. P.ej. la selección de FTEsAcuteCare en la cortadora daría como resultado que las tarjetas mostraran cada percentil de FTEsAcuteCare.
Háganos saber si esta interpretación del problema es lo suficientemente cercana y tal vez alguien más podría tener un momento de bombilla e intervenir 🙂
Si esto es exacto, entonces, para uno, la medida debería resultar en un vector de valores, no un valor, porque debe tener un vector de valores para poder calcular un percentil. Supongo que sus medidas están configuradas así, por lo que una solución sería usar la declaración SWICH (como en el enlace de la tabla de parámetros anterior) donde verifica qué valor se ha filtrado de la tabla de medidas y captura la medida seleccionada con un SWITH declaración como:
25thPERCENTILE = IF ( HASONEVALUE ( Measures[MeasureName] ), PERCENTILEX.INC(ALLSELECTED([ProviderNo]), SWITCH ( VALUES ( Measures[MeasureName] ), "FTEsAcuteCare", [FTEsAcuteCare], "2ndMeasure", [2ndMeasure], ... ) , 0.25) ...
Esto no es dinámico ya que las medidas deben estar codificadas en la declaración dax, pero con una buena documentación y un plan de mantenimiento para actualizar las declaraciones dax, este podría ser un enfoque bastante simple.
Por supuesto, podría haber una solución más dinámica para esto, pero avíseme si esto lo acerca más a una solución que se adapte a los requisitos.
ThomasDay
En respuesta a Nevada
Hola a todos, y gracias por ayudar.
- Sabemos que no podemos cambiar mediante programación una medida de DAX en función de un valor de cadena en una expresión.
- Por otro lado, filas de 20 mm, calcular 600 medidas para más de 5000 entidades y construir la clasificación de síntesis en este modelo, incluso si pudiera cambiar programáticamente una medida DAX en una expresión, es una etapa ETL realmente buena para un gran conjunto de datos.
- Estos datos se actualizan trimestralmente … lo que permite un poco de libertad para pensar en las etapas sin tener que invertir mucho mantenimiento / preocupación / tiempo.
- Una nueva etapa puede encargarse de este problema:
- Exportación (un poco torpe) desde una visualización de todas las entidades y 600 medidas (no estoy seguro de cuándo aparece la memoria, por lo que puede tomar varios conjuntos de medidas). Con suerte no son demasiados sets … digamos que tengo suerte aquí.
Use SQL para transformar en un archivo largo y delgado como este … hay comandos para hacer esta parte.
¡Y voilá! Eso se convierte en la entrada para la siguiente etapa. Es un archivo grande 5000entidades * 600 medidas * no de años, ¡pero ahora cada cálculo está disponible!
Luego puedo agregar la siguiente capa de valor agregado: calcular los diversos valores de percentiles para los grupos de cohortes de proveedores relevantes (solo use / comparta el archivo del proveedor ETL base para eso), cree una tabla de parámetros para las segmentaciones con las medidas que aparecen en las segmentaciones – con una cortadora de grupo, luego una cortadora de medidas.
De acuerdo, es pronto para descubrir los próximos pasos, pero este enfoque parece bastante productivo.
Gracias de nuevo, déjame saber lo que piensas.
Tomás
PD: si alguien sabe cómo puedo usar la función «trabajar en excel» en lugar de la exportación de visualización que estoy visualizando … ¡Soy todo oídos!
Greg_Deckler
Por favor, avíseme si esto es lo que está preguntando, si desea poder crear medidas y que su tabla de MeasureNames refleje automáticamente estas nuevas medidas.
ThomasDay
En respuesta a Greg_Deckler
Hola @Greg_Deckler
Hmmm, no creo que eso sea todo. Estoy buscando usar nombres de medidas de una columna en una tabla para crear una ecuación DAX.
Entonces, en mi ejemplo, MeasureName proviene de una columna en una tabla, almacenada como texto y cuando selecciono una fila en esa tabla, me gustaría insertar MeasureName en una ecuación de DAX.
¿Está más claro?
Tomás
Es realmente como poner un nombre de medida en una segmentación para que elijas una medida y los filtros que quieres ver como usuario …
Sean
En respuesta a ThomasDay
¡Esto suena como una tabla de parámetros!
http://www.daxpatterns.com/parameter-table/
ThomasDay
En respuesta a Sean
Sí … sí lo hace. Mi cabeza casi explota a diario con todas las cosas nuevas que imaginar. No puedo agradecerles lo suficiente por señalar la dirección (como siempre). Probaré algunos ejemplos simples para probarlo.
Tomás
ThomasDay
En respuesta a ThomasDay
La inserción de un nombre MEASURE en una expresión DAX permanece sin resolver. La Tabla de parámetros inserta valores en expresiones pero no MEDIDAS de lo que veo.
Déjame ir a lo que estoy tratando de hacer en su lugar.
La idea es tener una lista de MEDIDAS, elegir una (algo así como en la lista de CAMPOS de visualización) y mostrar una página de visualización para esa Medida …
Alternativamente, ¿alguien sabe cómo recorrer una lista de medidas completa o seleccionada y hacer cálculos para cada una escribiendo una fila de cálculos para cada una en una tabla?
Tomás
Greg_Deckler
En respuesta a ThomasDay
Por lo tanto, potencialmente podría resolver esto publicando su informe en el Servicio. Aquí está el pensamiento. Cree una página de informe para cada medida. Ponga los nombres de sus medidas en una tabla. Publicar para servicio. Vaya a cada página de informe y cree una visualización de tarjeta que filtre el nombre de medida para esa página. Anclar al tablero.
En teoría, debería obtener un panel de nombres de medidas. Hacer clic en el nombre de la medida debería llevarlo a la página del informe de donde proviene la visualización.
No es óptimo.
ThomasDay
En respuesta a Greg_Deckler
Es una posibilidad … publicaremos 100 medidas, así que es mucho. Y en cada uno hay quizás 30-50 grupos diferentes de puntos de datos para mostrar … así que es muy «libro de referencia» en ese sentido.