Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola
A continuación se presentan algunos de los pasos que he dado y tengo stock en el paso 3
Paso 1 - He creado una tabla de selección de métricas según abajo
Paso 2 – He creado la medida: Métrica seleccionada - SELECTEDVALUE('Selección de métricas'[Métrica],"País")
Paso 3 – Intenté crear la métrica seleccionada - SWITCH(TRUE(),
[Métrico seleccionado]- "Departamento",,
Tengo acciones en el tercer paso que espero que alguien pueda ayudarme a averiguar los próximos pasos y cómo puedo lograr mi objetivo como se explica a continuación.
Mi objetivo es crear una segmentación de datos como se muestra a continuación utilizando la columna Métrica resaltada anteriormente y basada en la métrica seleccionada en el paso 2
Salida prevista
Departamento | Empleados a tiempo completo | Emp a tiempo parcial |
Admin | 67 | 15 |
Hr | 12 | 4 |
Legal | 18 | 10 |
Cuentas | 16 | 5 |
Finanzas | 41 | 3 |
Arriba está mi salida prevista. Por lo tanto, cada vez que seleccione cualquiera de las métricas de la segmentación de datos, esperaré que la dimensión se cambie y se muestre en la primera columna como se indica anteriormente. Cuando selecciono Departamento, espero una lista completa de todos los departamentos en contra de las medidas Tiempo completo y Tiempo parcial. La misma salida esperada que a continuación cuando selecciono el país de la segmentación de datos para mostrar todas las medidas correspondientes.
País | Empleados a tiempo completo | Emp a tiempo parcial |
Reino Unido | 80 | 2 |
Australia | 8 | 8 |
E.e.u.u | 9 | 20 |
México | 10 | 8 |
Finanzas | 30 | 16 |
Hola @Emmy66
aquí hay un archivo pbix que contiene datos de ejemplo, hay una página de informe llamada "contenido de eje dinámico".
El objeto visual Tabla y el gráfico de barras apiladas utilizan la columna "Etiqueta de eje" de la tabla "Contenido del eje".
La segmentación está utilizando la columna "Slicer".
La tabla se basa en una instrucción DAX, lo que significa que cada vez que se actualizará el modelo de datos subyacente, el contenido de la tabla también se actualizará.
La tabla FactOnlineSales contiene una medida denominada "medida de eje dinámico" esta medida asigna el contenido del eje a las columnas "reales", las tablas "reales" en el modelo de datos.
Hay otro tal vez el detalle más gorgoteo que hace que este enfoque funcione. Este detalle se denomina evaluación diferida. La evaluación de una condición en expresiones DAX se detiene inmediatamente cuando toda la condición (se utilizan AND y OR) ya no puede llegar a ser verdadera o toda la expresión ya es verdadera.
Cuando la selección de segmentación de datos da como resultado Categoría de producto, la variable checkContinent es igual a cero. Esto significa que la 1a parte de la condición para la parte de filtro continente ya detiene la evaluación.
La desventaja de este enfoque es que cada valor de la segmentación de datos necesita su propia expresión de filtro.
Con suerte, esto proporciona lo que está buscando, al menos proporciona algunas ideas nuevas.
saludos
Tom
Hola @TomMartens gracias por la sugerencia y también tomarse el tiempo para ayudar. He ido tan lejos como la creación de 2 columnas usando el AddColumns/UNION en su archivo pbix y similar al diseño por @RicoZhou pero mi desafío es cómo obtener las medidas en la tabla. FullTime Employees y PartTime son todas medidas calculadas individuales y tengo 7 medidas en total para agregar a la tabla. Cualquier idea de cómo puedo lograr esto por favor.
No @Emmy66,
Tom proporciona una solución genial para este problema. Otra alternativa es utilizar marcadores para crear diferentes vistas de la página, donde se muestran diferentes tablas en función del marcador seleccionado. Esencialmente, esto significa colocar una copia diferente de la tabla en cada marcador con las categorías que desea mostrar, mientras se ocultan las tablas "no utilizadas". A continuación, puede alternar el marcador que desea mostrar, por ejemplo, un botón con una acción.
Puede ser un poco difícil de configurar, pero es bastante sencillo. Este video tiene unos pocos años, pero el proceso es prácticamente el mismo:
https://www.youtube.com/watch?v=_Afcj8mT5_Q&feature=emb_logo
¡Espero que esto también arroje algo de luz sobre posibles soluciones!
Gracias @MUsommer por tu sugerencia. Muy apreciado. Aunque el enlace era muy útil, pero no es exactamente lo que quería.
Hay @Emmy66
Además de la respuesta de TomMartens, creo que puede utilizar una medida para filtrar su tabla de datos.
Debido a que no sé acerca de su tabla de datos, construyo una muestra para tener una prueba.
Tabla de muestras:
Tabla de selección métrica:
Medidas:
Metric Selected = SELECTEDVALUE('Metric Selection'[Metric],"Country")
Filter =
SWITCH(TRUE(),MAX('Table'[Category])='Metric Selection'[Metric Selected],1,0)
Cree un objeto visual de tabla, agregue Medida de filtro en Campo de filtro y establézcalo para mostrar elementos cuando el valor 1.
Mostrará el país de forma predeterminada.
Si selecciona Departamento:
Si esta respuesta todavía no pudo ayudarle a resolver su problema, por favor muéstreme su tabla de datos y más detalles sobre su requisito.
Puede descargar el archivo pbix desde este enlace: Archivo
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @RicoZhou, muchas gracias por su solución propuesta. Como mencioné en mi respuesta a @TomMartens, he recreado la tabla con las columnas 1st 2 pero stock con cómo obtener las medidas en. Cualquier otro detalle sobre cómo hacerlo será muy apreciado.
Hay @Emmy66
Si desea calcular el resultado dinámico por segmentación de datos, la medida es útil.
Pero la medida no se pudo mostrar en su tabla directamente. Puede usar measure en objetos visuales de tabla u otros objetos visuales en Power BI.
La columna calculada se puede agregar directamente a la tabla. Sin embargo, la segmentación no puede ser dinámica por segmentación.
Por lo tanto, puede usar la medida en un objeto visual de tabla para mostrar los resultados que desea.
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias @RicoZhou por su respuesta. Muy apreciado. Espero que la siguiente información le ayude. Las medidas que incluí se calculan actualmente a partir de 2 tablas del modelo (tabla Objeto y usuario)
Medidas de muestra: Hay otras 5 medidas, pero la siguiente regla similar.
Todos ellos se basan en la selección de la cortadora de fecha
Overdue_Projects de la casa de los
VAR Selecteddate - SELECTEDVALUE(Dates[Date])
devolución
CALCULATE(
COUNT(Object[proj_id]),
FILTER(Object, Object[target_date] < Selecteddate),
)
Active_Visitors
VAR MinSelectedDate (DATEADD(ALLSELECTED(Dates[Date]),-3,MONTH)
VAR MaxSelectedDate - SELECTEDVALUE(Dates[Date])
devolución
CALCULATE([Usuarios[Id]
FILTER(User, User[last_login]>- MinSelectedDate && User[last_login]<-MaxSelectedDate)
)
Hay @Emmy66
En su descripción inicial, es posible que desee mostrar el recuento de empleados a tiempo completo y empleados a tiempo parcial por medida.
Creo que en su tabla de hechos debería tener una columna como tipo de empleado para dejarme distinguir a los empleados a tiempo completo o a tiempo parcial.
Y debe haber una columna o varias columnas con valores en Métrica y detalles como Reino Unido/Australia... en el país.
Sin embargo, no pude encontrarlos en su modelo de datos.
¿Podría decirme su lógica de cálculo de su medida?
¿Active_Visitors calcula el recuento de empleados a tiempo completo?
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias @RicoZhou por su continua asistencia. Disculpas si no te proporcioné suficiente información. Me hubiera encantado compartir mis datos, pero no podré hacerlo debido a la naturaleza de mis datos. Intentaré tanto como sea posible proporcionarle toda la información requerida.
La tabla de usuarios tiene employee_type campo para diferenciar entre tiempo parcial y tiempo completo. Además, la tabla de usuario contiene estas columnas: País, Departamento, Rol, Office y PracticeArea, Last_logon etc. A continuación se muestra una muestra de mi tabla de métricas.
Mi primera medida Proyectos atrasados. Un proyecto se asume como vencido si supera su fecha de destino y la variable Selecteddate depende de la fecha seleccionada de la segmentación.
Mi 2a medida Active Visitors examina a los usuarios que han iniciado sesión en los últimos 3 meses. esto depende de la fecha seleccionada de la segmentación de fecha.
Hay @Emmy66
Construyo una muestra para hacerme una prueba.
¿Su tabla de usuarios es la siguiente?
Puede seleccionar País, Departamento,Rol, Oficina y PracticeArea y, a continuación, seleccionar unpivot.
La nueva tabla es la siguiente.
Mi tabla métrica.
Mi tabla de fechas:
Date = CALENDAR(DATE(2020,01,01),DATE(2020,12,31))
Medida:
Count =
VAR _Slicer =
SELECTEDVALUE ( Metric[Slicer] )
VAR _MaxDate =
SELECTEDVALUE ( 'Date'[Date] )
VAR _MinDate =
EOMONTH ( _MaxDate, -4 ) + DAY ( _MaxDate )
RETURN
CALCULATE (
COUNT ( User[User id] ),
FILTER (
User,
User[Last_logon] >= _MinDate
&& User[Last_logon] <= _MaxDate
&& User[Attribute] = _Slicer
)
)
Cree un objeto visual Matrix. Mostrará el último id de usuario de recuento continuo de 3 meses por segmentaciones de datos.
Seleccione País:
Seleccione Departamento:
Puede descargar el archivo pbix desde este enlace: Archivo
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @RicoZhou por favor acepte mis sinceras disculpas por la respuesta tardía. Muchas gracias por su propuesta de solución. Sí, la tabla de muestra que creó arriba está en línea con lo que tengo.
Seguí los pasos como me aconsejó, pero me encontré con un enganche. Cuando llegué a upivot sólo las columnas seleccionadas y apliqué los cambios, a continuación se muestra el mensaje de error generado. Entonces intenté aislar el primer usuario que lanzó el error, pero apareció otro. Así que no estoy seguro de qué hacer a continuación.
He revisado mi mesa y no hay duplicados.
Hay @Emmy66
El error se debe a que habrá valores duplicados en uid después de hacer clic en aplicar cambios que tienen una relación de uno a muchos actualmente.
Puede eliminar la relación (uno a muchos) y, a continuación, aplicar cambios en la consulta de energía y crear una relación de muchos a muchos entre uid en User y otras tablas.
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @RicoZhou,gracias por su continuo apoyo. La tabla User se une a muchas otras tablas, por lo que no estoy seguro de cómo proceder con los muchos a varios y el impacto que tendrá
Gracias por su continua asistencia. Disculpas si no te proporcioné suficiente información. Me hubiera encantado compartir mis datos, pero no podré hacerlo debido a la naturaleza de mis datos. Intentaré tanto como sea posible proporcionarle toda la información requerida.
La tabla de usuarios tiene employee_type campo para diferenciar entre tiempo parcial y tiempo completo. Además, la tabla de usuario contiene estas columnas: País, Departamento, Rol, Office y PracticeArea, Last_logon etc. A continuación se muestra una muestra de mi tabla de métricas.
Mi primera medida Proyectos atrasados. Un proyecto se asume como vencido si supera su fecha de destino y la variable Selecteddate depende de la fecha seleccionada de la segmentación.
Mi 2a medida Active Visitors examina a los usuarios que han iniciado sesión en los últimos 3 meses. esto depende de la fecha seleccionada de la segmentación de fecha.
Hey @Emmy66 ,
Desafortunadamente no es tan sencillo crear una solución que satisfaga sus expectativas.
Esto se debe a lo siguiente.
Un objeto visual tiene una "estructura", a veces esta estructura se llama estética. La estructura define la columna que se utiliza en el x-axix, qué columna se utiliza como leyenda, etc. La estructura de un objeto visual no se puede cambiar mediante DAX.
Esto significa que no hay manera de "cambiar" la columna que se utiliza en el objeto visual, en función de la selección de la segmentación de datos
Resolver el problema requiere algún tipo de truco.
Cree una tabla con dos columnas, una columna que contenga el contenido utilizado dentro de la segmentación de datos y la otra los valores de las columnas diferentes.
Ahora puede utilizar la segunda columna como eje o columna dentro del objeto visual de la tabla.
Debe crear una medida que ayude a filtrar la columna de valores en consecuencia.
Debe crear una medida que utilice el valor del eje para filtrar las diferentes columnas y agregar los valores.
Cuantas más "variables" esté utilizando, más larga será la medida, ya que cada columna necesita su propio segmento en la medida.
Si necesita más orientación, cree un archivo pbix que contenga datos de ejemplo, pero que refleje el modelo de datos. Cargue el pbix en onedrive o dropbox y comparta el enlace.
saludos
Tom
Hola @TomMartens , gracias por responder a mi pregunta. Por su explicación, no hay un enfoque fácil. No estoy seguro de cómo puedo lograr la mesa como sugeriste ya que mis medidas se calculan sobre la marcha.
Podría resultar en usarlos como segmentaciones individuales en lugar de combinar todas las demensiones como otra opción.
Gracias una vez más por sus sugerencias.