March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola
Estoy haciendo un POC donde estoy tratando de rastrear los valores históricos usando el patrón de copo de nieve. El escenario es algo así como abajo
Tendré un cliente que compre algo a través de un administrador de cuentas. El cliente puede cambiar entre administradores de cuentas. Lo que me interesa ver es, para tener el nombre del cliente, todos los ingresos de ese cliente a través de todos los gerentes de acccount actuales / pasados y el nombre del administrador actual (podría repetir en todas las filas).
Adjunto el archivo pbix de ejemplo. (enlace a continuación). Estoy tratando de seguir un patrón que se menciona en este libro "Agile Data Warehouse Design" de Lawrence Corr. No estaba seguro de si el patrón mencionado en el libro era alcanzable así que pensé en comprobarlo yo mismo y parece que estoy atascado en la implementación de este correctamente
https://1drv.ms/u/s!AmE9ILAWJzWtgoYjoJGmYRTePU_0Nw?e=E2pV3K
Solved! Go to Solution.
No @karun_r,
Según mi entendimiento, usted quiere obtener todo el nombre de todos los gerentes y el último gerente de cada cliente, ¿verdad?
Puede usar la siguiente fórmula:
Manager Name =
LOOKUPVALUE (
AccountManager[Name],
'AccountManager'[AccountManagerID], [AccountManagerID]
)
All Managers =
CONCATENATEX (
FILTER ( 'Fact', 'Fact'[CustomerID] = EARLIER ( 'Fact'[CustomerID] ) ),
[Manager Name],
",",
[Date], ASC
)
The Last/Current Manager =
CALCULATE (
MAX ( 'Fact'[Manager Name] ),
FILTER (
'Fact',
'Fact'[CustomerID] = EARLIER ( 'Fact'[CustomerID] )
&& 'Fact'[Date]
= CALCULATE ( MAX ( 'Fact'[Date] ), ALLEXCEPT ( 'Fact', 'Fact'[CustomerID] ) )
)
)
La salida final de la tabla se muestra a continuación:
Por favor, eche un vistazo al archivo pbix aquí.
Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
No @karun_r,
Según mi entendimiento, usted quiere obtener todo el nombre de todos los gerentes y el último gerente de cada cliente, ¿verdad?
Puede usar la siguiente fórmula:
Manager Name =
LOOKUPVALUE (
AccountManager[Name],
'AccountManager'[AccountManagerID], [AccountManagerID]
)
All Managers =
CONCATENATEX (
FILTER ( 'Fact', 'Fact'[CustomerID] = EARLIER ( 'Fact'[CustomerID] ) ),
[Manager Name],
",",
[Date], ASC
)
The Last/Current Manager =
CALCULATE (
MAX ( 'Fact'[Manager Name] ),
FILTER (
'Fact',
'Fact'[CustomerID] = EARLIER ( 'Fact'[CustomerID] )
&& 'Fact'[Date]
= CALCULATE ( MAX ( 'Fact'[Date] ), ALLEXCEPT ( 'Fact', 'Fact'[CustomerID] ) )
)
)
La salida final de la tabla se muestra a continuación:
Por favor, eche un vistazo al archivo pbix aquí.
Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@karun_r , Sin embargo, para comprobar el archivo. Pero al igual que en Power Bi preferimos el esquema de estrella, combinaría el nombre del administrador de cuentas de la tabla de empleados uniendo el identificador del administrador de cuenta con el identificador de empleado (el nombre de la columna puede diferir)
https://radacad.com/append-vs-merge-in-power-bi-and-power-query
O copie el nombre de la tabla de empleados en DAX con uno de los tres approches : https://www.youtube.com/watch?v=czNHt7UXIe8
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.