Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Emmy66
Helper IV
Helper IV

dimensión dinámica

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

Emmy66_0-1607729003266.png

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

Emmy66_1-1607729003275.png

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.

Emmy66_2-1607729003279.png

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

17 REPLIES 17
Syndicate_Admin
Administrator
Administrator

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.

Anonymous
Not applicable

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

Tabla de selección métrica:

2.png

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.

3.png

Si selecciona Departamento:

2.png

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)

PBI Forum.jpg

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.

Metrics table.jpg

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?

1.png

Puede seleccionar País, Departamento,Rol, Oficina y PracticeArea y, a continuación, seleccionar unpivot.

La nueva tabla es la siguiente.

2.png

Mi tabla métrica.

2.png

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:

3.png

Seleccione Departamento:

4.png

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.

Emmy66_0-1610634408603.png

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.

TomMartens
Super User
Super User

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



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

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.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.