Forum Discussion
DAX unpivot
- 6 years ago
Hola @nikilouwgmail
Puedes probar esta fórmula:
Table = UNION( SELECTCOLUMNS(FACT_Sales,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","Sales","Amount",[SalesAmount]), SELECTCOLUMNS(FACT_CostOfSales,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","CostOfSales","Amount",[CostOfSalesAmount]), SELECTCOLUMNS(FACT_AdminCosts,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","AdminCosts","Amount",[AdminCosts] ))Resultado:
y aquí está el archivo pbix de muestra, por favor pruébelo.
saludos
Lin
Hola @nikilouwgmail ,
No veo tu respuesta.
Puede ser que intente publicarlo de nuevo o administrador de mensajes.
Gracias
Pragati
Hola
- Necesito agrupar por múltiples tablas DIM y tablas FACT y luego despo circa de él usando DAX
- Desafortunadamente no puedo usar las funciones GROUP BY y UNPIVOT en PowerQuery debido a que mi trabajo se realiza en Visual Studio/Analysis Services como modelo tabular (compatibilidad limitada a 2016 para nuestros clientes, de lo contrario podría usar PowerQuery)
- DIM_Tables: DIM_Product: ID, ProductName ;
DIM_Company: ID, CompanyName ;
DIM_AccountingPeriod: ID, AccPeriodMonth
- Tablas FACT: FACT_Sales: ProductID, CompanyID, AccPeriodMonthID, SalesAmount ;
FACT_CostOfSales: ProductID, CompanyID, AccPeriodMonthID, CostOfSalesAmount ;
FACT_AdminCosts: ProductID, CompanyID, AccPeriodMonthID, AdminCosts
- Necesito la siguiente salida:
NombreDeProducto (ProductName) AccPeriodMonth ? Nombre de la empresa ? Tipo de transacción ? Cantidad
1 ? Jan20 ? A - Ventas ? 100
2 ? Jan20 ? A - CostOfSales ? 50
3 ? Jan20 ? A - AdminCosts ? 20
1 ? Feb20 ? B ? Ventas ? 200
2 ? Feb20 ? B ? CostOfSales ? 70
3 ? Feb20 ? B ? AdminCosts ? 30
Agradezco la ayuda.
Gracias de antemano
- Anonymous6 years agoNot applicable
- v-lili6-msft6 years ago
Community Support
Hola @nikilouwgmail
Puedes probar esta fórmula:
Table = UNION( SELECTCOLUMNS(FACT_Sales,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","Sales","Amount",[SalesAmount]), SELECTCOLUMNS(FACT_CostOfSales,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","CostOfSales","Amount",[CostOfSalesAmount]), SELECTCOLUMNS(FACT_AdminCosts,"ProductName",RELATED(DIM_Product[ProductName]),"AccPeriodMonth",RELATED(DIM_AccountingPeriod[AccPeriodMonth]),"Companyname",RELATED(DIM_Company[CompanyName]),"TransactionType","AdminCosts","Amount",[AdminCosts] ))Resultado:
y aquí está el archivo pbix de muestra, por favor pruébelo.
saludos
Lin
- Anonymous5 years agoNot applicable
Muchas gracias @v-lili6-msft
Muy apreciado.
Puedo ver que funciona, pero tal vez mi conjunto de datos es demasiado grande o complejo, porque no ejecutará el DAX. Se cuelga y luego se estrella.