Microsoft is giving away 50,000 FREE Microsoft Certification exam vouchers. Get Fabric certified for FREE! Learn more
Tengo datos como los siguientes:
Timestamp | Suscripciones |
2020-06-11 | sub1, sub2 |
2020-06-11 | sub2, sub3 |
2020-06-12 | sub5, sub6 |
2020-06-12 | sub5 |
Me gustaría poder trazar un gráfico que muestre el número de suscripciones únicas en cada marca de tiempo. Así que para la marca de tiempo 2020-06-11, el valor sería 3, y para la marca de tiempo 2020-06-12, el valor sería 2. ¿Es posible?
Hola @gopalv ,
Puede utilizar Power Query
Dejar
Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtA1MNM1NFTSUSouTTLUUQCSRkqxOphyRmA5Y1Q5I4icKVjODLscCaImSrGxAA", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Timestamp ? _t, ?"(blank)" ? _t]),
"Tipo de cambio" - Table.TransformColumnTypes(Source,"Timestamp", tipo date, "(en blanco)", escriba text-),
"Columnas renombradas" - Table.RenameColumns(-"Changed Type","(blank)", "Subscriptions" ?
SplittedCol á Table.TransformColumns('Columnas renombradas',''Subscriptions'', cada Text.Split(_,",")'),
"Suscripciones expandidas" - Table.ExpandListColumn(SplittedCol, "Subscriptions"),
"Texto recortado" - Table.TransformColumns("Suscripciones expandidas","Suscripciones", Texto.Recortar, escriba texto)
En
"Texto recortado"
Tabla Original : Han añadido algunos valores
Crear una medida simple
saludos
Harsh Nathani
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares arriba)
Hola @gopalv ,
También puede usar este código en Power Query
Dejar
Source á Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMjIwMtA1MNM1NFTSUSouTTLUUQCSRkqxOphyRmA5Y1Q5I4icKVjODLscCaImSrGxAA", BinaryEncoding.Base64), Compression.Deflate)), deje _t ((tipo de texto que acepta valores NULL) meta [Serialized.Text ? true]) en la tabla de tipos [Timestamp ? _t, ?"(blank)" ? _t]),
"Tipo de cambio" - Table.TransformColumnTypes(Source,"Timestamp", tipo date, "(en blanco)", escriba text-),
"Columnas renombradas" - Table.RenameColumns(-"Changed Type","(blank)", "Subscriptions" ?
"Filas agrupadas" - Table.Group("Columnas renombradas", "Marca de tiempo", "a", cada Text.Combine([Subscriptions], ", "), escriba texto),
"Columnas renombradas1" - Table.RenameColumns(-"Filas agrupadas","a", "Combinado"-),
"RemovedDuplicates" á Table.TransformColumns ('Columnas renombradas1'",'Combinado', cada Text.Combine(List.Distinct(List.Transform(Text.Split(_,","), Text.Trim)),", ?)
En
"RemovedDuplicates"
Crear una medida
En mi ejemplo, tengo varias filas por marca de tiempo. ¿Este código seguiría funcionando en ese caso?
Hola @gopalv ,
Sí, lo hará.
El primer post.. Quita el delimitador y crea una nueva fila para cada marca de tiempo y, a continuación, realiza un RECUENTO DISTINCT.
El segundo post .. Combina las filas de una marca de tiempo determinada y, a continuación, elimina los duplicados y cuenta el no. de palabras.
saludos
Harsh Nathani
Preferiría una solución DAX, si es posible. La solución DAX dada no parece ser correcta y el problema con la división de suscripciones en PowerQuery es que la tabla resultante termina con valores de recuento doble o triple en otra columna (no se muestra) que representan el uso en todas las suscripciones en cada marca de tiempo.
Por ejemplo, empiezo con:
Timestamp | Suscripciones | Computetype | Uso (en todas las suscripciones) |
2020-06-11 | sub1, sub2 | Computación1 | 35 |
2020-06-11 | sub3, sub4 | Computación2 | 89 |
2020-06-12 | sub5, sub6 | Computación1 | 32 |
2020-06-12 | sub7, sub8 | Computación2 | 82 |
Su solución me dará una tabla que parece:
Timestamp | Suscripción | Calcular | Uso |
2020-06-11 | sub1 | Computación1 | 35 |
2020-06-11 | sub2 | Computación1 | 35 |
2020-06-11 | sub3 | Computación2 | 89 |
2020-06-11 | sub4 | Computación2 | 89 |
... | |||
2020-06-12 | sub8 | Computación2 | 82 |
Ahora, si trato de trazar el uso con el tiempo sin ningún filtro, de repente tendré el doble de uso en cada momento.
Hola
Para trazar el uso a lo largo del tiempo, arrastre Año/mes desde la tabla calendario y escriba este mwasure
•min(Datos[Uso])
Espero que esto ayude.
Hola @gopalv ,
En función de los requisitos que haya publicado, creo que tendrá que obtener su tabla en el formato correcto.
Para calcularlo una sola vez, puede crear un CC
Check out the March 2025 Power BI update to learn about new features.
Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.