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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Crear un nuevo conjunto de datos con espacios en blanco

Hola a todos

Se me encomendó la tarea de crear un informe bastante complejo que mostrara a todos los usuarios de una lista determinada que participaron en cualquiera de nuestros videos ofrecidos.

Sin embargo, me dieron dos conjuntos de datos: uno que contiene todos los usuarios y otro que contiene títulos de video y solo usuarios que participaron en uno o más de ellos.

Lo que me gustaría hacer es crear un conjunto de datos con los usuarios como filas, los títulos de video como columnas y los valores sean 1 para la participación y 0 para nada. Idealmente, esto se actualizaría solo y quiero que sea un conjunto de datos, no visual. Ejemplos a continuación.

Conjunto de datos 1.

NombreDatos aleatorios
Persona 1XXX
Persona 2XXX
Persona 3XXX


Conjunto de datos 2. (Persona 3 desaparecida porque no participó)

NombreTítulo del vídeoRegistro
Persona 1YYY
Persona 2YY1


Resultado deseado del conjunto de datos

NombreTítulo del vídeo (AAAA) Título del vídeo (YY1)Título del vídeo (YY2)
Persona 1100
Persona 2110
Persona 3000


Cualquier ayuda es apreciada

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

@ksab23 ,

¿Podría decirme si su problema ha sido resuelto? Si es así, por favor Acéptelo como la solución. Más personas se beneficiarán de ello. O si todavía está confundido al respecto, proporcióneme más detalles sobre su tabla y su problema o compártame con su archivo pbix después de eliminar datos confidenciales.

Consulte con:

Cómo proporcionar datos de ejemplo en el foro de Power BI

Cómo obtener respuestas rápidas a su pregunta

Saludos

Jianbo Li

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

@ksab23 ,

Aprobar con @ITManuel. Pero parece que crear relaciones entre tablas no es necesario, puedes probar un DAX similar:

Table =
SUMMARIZE (
    'Dataset 1',
    [Name],
    "YYY",
        IF (
            CALCULATE (
                COUNT ( 'Dataset 2'[Registration] ),
                FILTER (
                    'Dataset 2',
                    [Name] = EARLIER ( 'Dataset 1'[Name] )
                        && [Registration] = "Yes"
                        && [Video title] = "YYY"
                )
            ) >= 1,
            1,
            0
        ),
    "YY1",
        IF (
            CALCULATE (
                COUNT ( 'Dataset 2'[Registration] ),
                FILTER (
                    'Dataset 2',
                    [Name] = EARLIER ( 'Dataset 1'[Name] )
                        && [Registration] = "Yes"
                        && [Video title] = "YY1"
                )
            ) >= 1,
            1,
            0
        )
)

Resultado final:

vjianbolimsft_0-1675761895738.png

Saludos

Jianbo Li

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hola
en primer lugar, sustituya el valor de registro yes por 1.

olgad_0-1675678200168.png

Luego elige un título de video y pídelo

olgad_1-1675678314952.png

A continuación, combine dos tablas en el nombre

olgad_2-1675678356871.png

Luego expándalo

olgad_3-1675678441076.png

El valor nulo de reemplazo en todas las columnas

A continuación, haga referencia a esa tabla

dejar
Fuente = #"Tabla",
ReplaceNulls = Table.TransformColumns(Source,{},(x) => Replacer.ReplaceValue(x,null,0))
en
ReplaceNulls

olgad_4-1675678630725.png

Espero que ayude

Syndicate_Admin
Administrator
Administrator

@ksab23 ,

pruebe los siguientes pasos en PowerQuery.

primero. Dinamizar el icono de vídeo de columna en el conjunto de datos 2

DS2.JPG

2º. Combinar Dataset 1 con Dataset 2

Merge.JPG

Tercera. Expandir columnas de vídeo

Expand.JPG

Hola, esto parece funcionar un poco, pero no creo que sea bueno para mis necesidades, ya que mis conjuntos de datos consisten en demasiadas filas. La lista de usuarios únicos es de 20k + filas y la que tiene títulos de video y registros respectivos es aún más larga, ya que los usuarios pueden participar en uno o más videos. Por lo tanto, el conjunto de datos combinado tarda años en cargarse fuera de la consulta de energía y cualquier acción, como el filtrado, tarda demasiado.

¿Quizás sabes si hay alguna manera de ajustar este búfer?

Syndicate_Admin
Administrator
Administrator

Para lograr este resultado deseado, puede usar una fórmula de Power BI DAX para crear una nueva tabla calculada basada en los dos conjuntos de datos existentes. Este es un ejemplo de cómo puede crear esta nueva tabla calculada:

  1. Primero, cree una lista única de todos los títulos de video del Dataset 2. Puede usar la fórmula del DAX "Distinct" para hacer esto:

VideoTitles = DISTINCT(Dataset2[Título del vídeo])

  1. A continuación, cree una relación entre Dataset 1 y la nueva tabla VideoTitles utilizando la columna "Nombre" como clave común.

  2. Cree una nueva tabla calculada con la fórmula de DAX siguiente:

DesiredDataset = SUMMARIZE(Dataset1, Dataset1[Name], "Video title (YYY)", IF(COUNTIF(Dataset2, [Name]=Dataset1[Name]&& [Video title]="YYY")>0, 1, 0), "Video title (YY1)", IF(COUNTIF(Dataset2, [Name]=Dataset1[Name]&& [Video title]="YY1")>0, 1, 0), ... repetir para todos los títulos de vídeo)

  1. En la nueva tabla calculada, la columna "Nombre" serán sus filas, los títulos de los videos serán sus columnas y los valores serán 1 o 0 en función de si el usuario participó en el video o no.

Nota: Asegúrese de reemplazar "YYY" y "YY1" con los nombres reales de los títulos de video en sus conjuntos de datos.

Hola, gracias! Pero desafortunadamente, me quedé atascado en el segundo paso, cuando creo una lista distinta de títulos de video, obtengo solo esa columna y, por lo tanto, no puedo crear una relación entre el conjunto de datos 1 (nombres) y los títulos de video, ya que no hay nombres de usuarios. Tal vez simplemente no estoy entendiendo bien aquí, ¿podría dar más detalles al respecto?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.