Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register 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
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.