Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola, tengo una mesa como estas:
Nacionalidad | Nombre | Nº niños |
Italiano | Antonella | 12 |
Español | Hugo | 15 |
Alemán | Franz | 13 |
Ruso | Sacha | 11 |
Italiano | Mujer blanca | 17 |
Español | Lucas | 32 |
Alemán | Kurt | 21 |
Ruso | Vladimir | 27 |
Italiano | Albumen | 49 |
Español | Avión | 3 |
Alemán | Anónimo | 9 |
Ruso | Dimitri | 14 |
Italiano | Angela | 31 |
Español | Daniel | 37 |
Alemán | Suyos | 22 |
Ruso | Igor | 23 |
Quiero saber la suma total de niños con nombres que están en el Top 3 de nombres de cada nacionalidad.
Explico esto con más detalle con los datos de la tabla anterior:
Top 3 nombres italianos = Chiara (49), Fiorella (31) y Bianca (17)
Número total de niños con los 3 mejores nombres italianos = 97 (viniendo de 49+31+17)
Top 3 nombres españoles = Daniel (37), Lucas (32) y Hugo (15)
Total de niños con top3 nombres en español = 84 (procedentes de 37+32+15)
Top 3 nombres alemanes = Hans (22), Kurt (21) y Franz (13)
Total de niños con nombres top3 alemanes = 56 (procedentes de 22+21+13)
Top 3 nombres rusos = Vladimir (27), Igor (23) y Dimitri (14)
Total de niños con los 3 mejores nombres rusos = 64 (procedentes de 27 + 23 + 14)
Lo que quiero calcular con DAX es la suma total de niños con nombres pertenecientes al Top 3 por nacionalidad
Total de niños con nombres en el Top3 de su nacionalidad = 301 (proviene de 97+84+56+64)
Que 301 niños es la medida que necesito obtener con la tabla que indiqué al principio
Espero que me puedas ayudar. Muchas gracias de antemano.
Num with top names =
VAR SummaryTable =
GENERATE(
VALUES('Table'[Nacionality]),
CALCULATETABLE(
SELECTCOLUMNS(
TOPN(3, 'Table', 'Table'[Nº childs]),
"Name", 'Table'[Name],
"Children", 'Table'[Nº childs]
)
)
)
return SUMX(SummaryTable, [Children])