This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Tengo dos tablas de hechos y dos dimensiones.
Tabla 1 : FactPrescriptionProjection | |
FactPrescriptionProjectionID | Contiene valores únicos |
PrescriptionProjectionCount | valor int |
Tabla 2 : FactPrescriptionPrduct | |
FactPrescriptionProjectionID | Contiene valores duplicados |
Productid | Contiene valores duplicados |
Tabla 3 : DimProduct | |
DimProductID | Contiene valores únicos |
DimManufacturerID | Contiene valores duplicados |
Tabla 4 : DimManufacturer | |
DimManufacturerID | Contiene valores únicos |
DimManufacturerName | valor varchar |
FactPrescriptionLa tabla de proyección almacena los registros de los datos de prescripción del médico con identificación única. Un registro de prescripción puede tener varios medicamentos prescritos, por lo tanto, el medicamento se almacena en otra tabla (FactPrescriptionProduct Table) con el identificador único de la tabla FactPrescriptionProjection. Y la tabla de otros productos está vinculada a DimProduct y es igual que la tabla del fabricante. Consulte el modelo de datos para obtener una descripción más detallada de la cardinalidad.
Quiero obtener el recuento de proyección de recetas contra cada fabricante. Por lo tanto, estoy escribiendo debajo de la consulta DAX.
Evaluar
RESUMECOLUMNS(
'DimManufacturer',
'DimManufacturer'[NombreFabricante],
"De prescripción", Suma('FactPrescriptionProjection'[Proyección de recetas]),
)
Estoy obteniendo el resultado correcto, pero el informe está funcionando muy lento.
FactTablels tiene millones de registros en él.
Por lo que pude determinar el problema está en la cardinalidad entre FactPrescriptionProjetcion y FactPrescriptionProduct. Según el modelo de datos actual, necesitamos usar cross filter para obtener los datos correctos que supongo que hace que se ralentice.
Solicitar a su tipo de soporte para hacerme saber cómo podemos evitar la relación bidireccional en este modelo actual para obtener el resultado más rápido o cualquier otro método para que se solucione el problema.
Vínculo para el archivo de ejemplo. https://1drv.ms/u/s!AvZUqpXgHxIVzR87nuZuZngndT54?e=wboViJ
Puede cambiar la dirección de ambos a solo como se muestra a continuación:
Equipo de Apoyo Comunitario _ Jimmy Tao
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-yuta-msft
Gracias por su respuesta.
Puedo establecer la dirección del filtro en single.
pero entonces el problema es que no estoy recibiendo el valor SUM de 'FactPrescriptionProjection'[Recuento de proyecciones derecetas]contra 'DimManufacturer'[DimManufacturerName].
Porque 'DimManufacturer' Filtra el 'FactPrescriptionProduct' y 'FactPrescriptionProduct' no filtra 'FactPrescriptionProjection'. Por lo tanto, tuve que usar la relación bidireccional para el filtrado cruzado.
Gracias.
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.