cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

Una segmentación de varios campos

¡Hola!

Tengo problemas con la colocación de varios campos en una segmentación de datos. Estoy trabajando con lo que es esencialmente los datos de la encuesta de citas (ver ejemplo de tabla a continuación). En la encuesta, tenemos algunas preguntas que son "seleccione todas las que correspondan". A continuación, los datos se separan en lo que es esencialmente columnas 0/1. Me gustaría crear una segmentación de datos que incluya Actividad 1, Actividad 2, Actividad 3, etc. para poder obtener un recuento de quién y cuántas personas participaron en cada actividad.

He mirado hierarchy Slicers (¿que realmente no funciona ya que no hay una jerarquía para las actividades - pero siento que esto podría ser una solución para mí?) y he intentado despivoar, pero ya que tengo varias columnas que se transformaron en 0/1 debido a una opción de selección de todo el aplicar, eso tampoco parece funcionar realmente.

¡Abierto a probar cualquier cosa! ¡Gracias!

Visitar #Identificación de la personaACTIVIDAD 1 COMPLETADAACTIVIDAD 2 COMPLETADAACTVITIY 3 COMPLETADO
Visita 1Persona 1Actividad 1Actividad 2
Visita 2Persona 1 Actividad 3
Visita 1Persona 2 Actividad 2Actividad 3
Visita 1Persona 3Actividad 1
Visita 2Persona 3 Actividad 2
Visita 1Persona 4Actividad 1 Actividad 3

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Community Support
Community Support

Hola @mforest

Al igual que lbendlin y respondieron antes, podemos resolver este problema por Unpivot y Measure.

En primer lugar, necesitamos usar unpivot para cambiar nuestro modelo de datos.

Dos maneras:

1. Columna de descompo de uno en Power Query Editor:

Abra Power Query Editor —— Seleccione 3 columnas como se muestra a continuación —— Use Unpivot Columns in Transform Tab —— Eliminar columna de atributo.

1.png

Resultado

2.png

2. Utilice DAX

Crear nueva tabla en la pestaña Modelado:

3.png

Unpivot By DAX = UNION(
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTIVITY 1 COMPLETED]),
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTIVITY 2 COMPLETED]),
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTVITIY 3 COMPLETED]))

Resultado:

4.png

Entonces necesitamos una segmentación para filtrar la actividad

Crea una nueva tabla como la anterior y úsalo para crear una segmentación.

Slicer = DISTINCT('Unpivot in PowerQueryEditor'[Value])

Resultado:

5.png

Luego creamos dos medidas. Agregue Measure1 a Table(Unpivot en PowerQueryEditor) y use Measure2 para crear una tarjeta. Podemos ver el número de personas en Card.

Medida1:

Measure1 =

VAR _a = VALUES(Slicer[Value])

return

CALCULATE(MAX('Unpivot in PowerQueryEditor'[Person ID]),FILTER('Unpivot in PowerQueryEditor','Unpivot in PowerQueryEditor'[Value] in _a))

Medida 2:

Measure 2 =

VAR _a = VALUES(Slicer[Value])

return

CALCULATE(COUNT('Unpivot in PowerQueryEditor'[Person ID]),FILTER('Unpivot in PowerQueryEditor','Unpivot in PowerQueryEditor'[Value] in _a))

Todo está hecho, deje ques seleccione Actividad1 para realizar una prueba.

Resultado:

6.png

Puede descargar el archivo pbix de este enlace:

https://qiuyunus-my.sharepoint.com/:u:/g/personal/tongzhou_qiuyunus_onmicrosoft_com/EXb0fbEc0WVDt0jt...

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.

View solution in original post

4 REPLIES 4
Highlighted
Super User II
Super User II

Sí, despvorar es el camino a seguir. Describa dónde se quedó atascado intentando eso.

Usted querrá terminar con una mesa

VISITA - Persona - Actividad #

Highlighted
Super User IV
Super User IV

@mforest , Una vía es unpivot

En segundo lugar, es que se crea una dimensión común a partir de estas tres columnas

ore crear una nueva mesa como

Actividad: distinct(union(distinct(Table[Activity1]),distinct(Table[Activity2]),distinct(Table[Activity3])))

y unirse con las tres actividades y luego utilizar userelation para activar la unión

https://radacad.com/userelationship-or-role-playing-dimension-dealing-with-inactive-relationships-in...



Did I answer your question? Mark my post as a solution! Appreciate your Kudos!!
Dashboard of My Blogs !! YouTube Channel !! Connect on Linkedin

Proud to be a Super User!

Highlighted
Community Support
Community Support

Hola @mforest

Al igual que lbendlin y respondieron antes, podemos resolver este problema por Unpivot y Measure.

En primer lugar, necesitamos usar unpivot para cambiar nuestro modelo de datos.

Dos maneras:

1. Columna de descompo de uno en Power Query Editor:

Abra Power Query Editor —— Seleccione 3 columnas como se muestra a continuación —— Use Unpivot Columns in Transform Tab —— Eliminar columna de atributo.

1.png

Resultado

2.png

2. Utilice DAX

Crear nueva tabla en la pestaña Modelado:

3.png

Unpivot By DAX = UNION(
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTIVITY 1 COMPLETED]),
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTIVITY 2 COMPLETED]),
            SELECTCOLUMNS('Table',"visit#",'Table'[Visit#],"PersonalID#",'Table'[Person ID],"Activity#",'Table'[ACTVITIY 3 COMPLETED]))

Resultado:

4.png

Entonces necesitamos una segmentación para filtrar la actividad

Crea una nueva tabla como la anterior y úsalo para crear una segmentación.

Slicer = DISTINCT('Unpivot in PowerQueryEditor'[Value])

Resultado:

5.png

Luego creamos dos medidas. Agregue Measure1 a Table(Unpivot en PowerQueryEditor) y use Measure2 para crear una tarjeta. Podemos ver el número de personas en Card.

Medida1:

Measure1 =

VAR _a = VALUES(Slicer[Value])

return

CALCULATE(MAX('Unpivot in PowerQueryEditor'[Person ID]),FILTER('Unpivot in PowerQueryEditor','Unpivot in PowerQueryEditor'[Value] in _a))

Medida 2:

Measure 2 =

VAR _a = VALUES(Slicer[Value])

return

CALCULATE(COUNT('Unpivot in PowerQueryEditor'[Person ID]),FILTER('Unpivot in PowerQueryEditor','Unpivot in PowerQueryEditor'[Value] in _a))

Todo está hecho, deje ques seleccione Actividad1 para realizar una prueba.

Resultado:

6.png

Puede descargar el archivo pbix de este enlace:

https://qiuyunus-my.sharepoint.com/:u:/g/personal/tongzhou_qiuyunus_onmicrosoft_com/EXb0fbEc0WVDt0jt...

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.

View solution in original post

Highlighted
Frequent Visitor

¡Gracias a todos! Parece que un depivo es el camino a seguir. Mi conjunto de datos tiene varias preguntas de "seleccionar todas las que se aplican" que se transformaron en 0/1, por lo que me preocupaba cómo el despivot trataría mis otras columnas 0/1 (y si hubiera una mejor manera). Ya que están seguros de que unpivot es el camino a seguir, simplifiqué mi mesa y creo que descubrí cómo puedo hacer que funcione. Me siento más cómodo trabajando con datos anchos que largos, así que el despivot es algo a lo que necesito acostumbrarme, y averiguar cómo usarlo.

¡Gracias a todos por sus respuestas! ¡Muy apreciado!

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Create an end-to-end data and analytics solution

Learn how Power BI works with the latest Azure data and analytics innovations at the digital event with Microsoft CEO Satya Nadella.

Top Solution Authors