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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo editar USERPRINCIPLENAME()

Quiero usar la función USERPRINCIPLENAME() en un mensaje de texto dinámico en mi panel que muestra un mensaje de bienvenida al usuario en particular. Sin embargo, la función USERPRINCIPLENAME() devuelve el correo electrónico corporativo de la persona en lugar de su nombre, ¿cómo manipulo el USERPRINCIPLENAME() para devolver el nombre real de una persona?

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

Para ser justos, eso suena como un impulso sustancial si no es alguien con permiso de administrador local y de Azure, y una máquina virtual ... Tarda unos 2 minutos en sacarlo de SharePoint como usuario de solo lectura e incluye todos los campos de perfil como la biografía, habilidades, sobre mí, etc. La calidad de los datos allí es decente si está sincronizando campos de AD y todo su personal usa SharePoint ... Pero ese es el problema. 🙂

Syndicate_Admin
Administrator
Administrator

Un enfoque tradicional sería usar Azure Powershell. Conseguir una mano

para configurar este y cualquier script que necesite al comenzar.

Pasos generales -

Azure PowerShell (documentación)

- El módulo es Az.Resources

-- Connect-AzAccount

-- Get-AzADUser | ConvertirTo-CSV | C:\ADUsers de archivo externo.csv

Importe CSV mediante Power Query para la tabla de dimensiones de usuario.

Este es un proceso manual, que se puede configurar como un Programado

Tarea, Power Automate, e idealmente almacenado como un

Conjunto de datos de Power BI para que no tenga que pasar por

la mecánica de extraer datos de usuario o activos cuando los necesite.

Syndicate_Admin
Administrator
Administrator

¿Cómo se hace esto? Pensé que el conector de Active Directory en Power BI era para AD local, no AAD.

Syndicate_Admin
Administrator
Administrator

Saltar a través de SharePoint es excesivo, cuando el servicio de directorio de usuarios va a ser la fuente de la verdad, que es donde se almacena la información.

Syndicate_Admin
Administrator
Administrator

Correcto, necesitarías algún tipo de tabla de dimensiones de usuarios. A menos que el userprincipal sea firstname.lastname@whatever.com y pueda dividirse en el período. Si todos los usuarios inician sesión en SharePoint, puede usar UserInformationList en la dirección URL del SP raíz para obtener una tabla de perfiles de usuario.

Syndicate_Admin
Administrator
Administrator

No es probable que USERNAME() contenga nombre, aunque el video es útil.

Syndicate_Admin
Administrator
Administrator

Hay un video sobre cómo hacer esto en YouTube. Están usando USERNAME(), pero lo mismo se aplica a USERPRINCIPALNAME(): https://www.youtube.com/watch?v=uvmsQU0dz0w

Syndicate_Admin
Administrator
Administrator

Si desea el nombre / apellido real de la persona, probablemente necesite crear una tabla de dimensiones a partir de sus registros de Active Directory, algo como esto:

1) Cree una nueva consulta y conéctese a su dominio de Active Directory.

2) Busque la tabla User e impórtela.

3) Busque la columna [Usuario] que tiene registros anidados, expanda y seleccione la columna [correo] para expandir.

4) Seleccione [displayName] y [mail] y elimine otras columnas.

Ahora debería poder usarlo como una tabla de dimensiones y relacionarlo con una tabla calculada que contenga USERPRINCIPALNAME para traducirlo a un nombre 'descriptivo'.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors