Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Lo que estoy tratando de hacer es bastante involucrado (para mí al menos), así que esto podría ser interesante para los solución más experimentados
Tengo (entre otros) las tres tablas siguientes:
DimGroups[groupID] <-> DimGroupsUsers[groupID, userID] <-> DimUsers[userID]
donde las flechas indican las relaciones (activas) y los valores entre corchetes las dimensiones relacionadas
(con un ligero mal uso del central, pero supongo que obtendrá el punto)
A continuación, las instantáneas de las dos primeras tablas filtradas para customerID-20
DimGroups
y DimGroupsUsers
Para todos los clientes hay al menos un grupo padre y varios grupos (20_1 y 20_2 en el ejemplo anterior)
Sé (de DimGroups)que un grupo es un grupo padre si no tiene groupID de padre (20_1, 20_2).
Desde DimGroupsUsers puedo calcular el número de usuarios dentro de cada grupo o contexto. Pero hay algunas advertencias
Todos los grupos siempre pertenecen al menos a un grupo padre,
Los usuarios pueden pertenecer a uno o varios grupos y al grupo padre correspondiente, o
Los usuarios pueden pertenecer a un grupo, pero no a un grupo paterno y viceversa
las instantáneas anteriores muestran un ejemplo de este último caso:
los usuarios 20_3, 20_5 y 20_8 no pertenecen a ningún grupo, sino sólo a grupos de padres,
los grupos 20_4, 20_6, 20_7, 20_10, 20_11, 20_13, 20_14 están vacíos y
fathergroup 20_1 contiene tres usuarios y fathergroup 20_2 contiene 7 usuarios (las 7 filas superiores de DimGroupsUsers)
Quiero calcular es el número de usuarios dentro de cada grupo y grupo paterno
Idealmente, quiero poder mostrar esto usando el visual Sunburst (un donout de varias capas)
Esto es lo que hice:
Primero creé la columna inGroup en DimGroupsUsers con la siguiente fórmula:
Luego, en DimGroups, pensé en calcular el número de usuarios dentro de cada grupo o grupo padre
con una columna calculadautilizando la siguiente fórmula:
Solved! Go to Solution.
Podría equivocarme, pero tal vez intentar:
Podría equivocarme, pero tal vez intentar:
Gracias por la solución Greg.
Desgraciadamente me acabo de dar cuenta de que la solución funciona bien para el caso de ejemplo
Me presenté en el post original, pero no para otros.
Por ejemplo, en el caso opuesto, donde todos los usuarios están en el mismo grupo paterno,
la fórmula cuenta dos veces a los usuarios en el grupo paterno
(aquí Contexto es la definición de grupo paterno de la empresa)
En esta situación, el gráfico de doble donout mostrará un grupo padre
que contiene el doble de usuarios y un grupo de contexto independiente que contiene
exactamente el mismo número de usuarios que en los otros grupos, mientras que el
Se supone que el grupo de contexto es un grupo ficticio que recopila a todos los usuarios
no asignado a un grupo paterno
Para remediar esto, pensé en hacer lo siguiente:
agregar una medida en la tabla DimGroupsUsers
para calcular el número de usuarios dentro de grupos, utilizando el siguiente
y luego modificar la solución como esta
Poblaciones ?
var contpop á CALCULATE(
IF(
DISTINCTCOUNT(DimGroupsUsers[userID])-0,
0,
DISTINCTCOUNT(DimGroupsUsers[userID])
),
FILTER(ALLNOBLANKROW(DimGroups), DimGroups[groupID]-EARLIER(DimGroups[groupID])),
FILTER(ALLNOBLANKROW(DimGroupsUsers), NOT(DimGroupsUsers[inGroup]))
)
var groupop - CALCULATE(
IF(
DISTINCTCOUNT(DimGroupsUsers[userID])-0,
0,
DISTINCTCOUNT(DimGroupsUsers[userID])
),
FILTER(ALLNOBLANKROW(DimGroups), DimGroups[groupID]-EARLIER(DimGroups[groupID])),
FILTER(ALLNOBLANKROW(DimGroupsUsers), DimGroupsUsers[inGroup])
)
devolver IF(
ISBLANK(DimGroups[fatherGroupID]),
IF(contpop <> [UsersInGroupsRole], contpop, 0),
IF(
CONTIENE(
DimGroupsUsers,
DimGroupsUsers[groupID],
DimGroups[groupID]
),
groupop,
0
)
)
Sin embargo, recibo el siguiente mensaje de error:
Se detectó una dependencia circular: DimGroups[Poblaciones]
¿Alguna idea de cómo resolver esto? Muchas gracias
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.