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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo crear medidas en varias tablas de hechos con múltiples categorías (campos/columnas)?

Si tiene dos tablas de hechos y desea crear medidas entre las dos; ¿Cuáles son las mejores prácticas?

Cuadro 1 (Fondos):

OrgCentroType_CodeUbicaciónFondos
ZZ1SSSUR500
ZZ1GGSUR300
WW1SSNORTE600
WW2SSSUR100
ZZ1SSNORTE500
ZZ2GGSUR200

Tabla 2 (Procesado)

OrgCentroType_CodeUbicaciónProcesado
ZZ1SSSUR5
ZZ1GGSUR7
WW1SSNORTE8
ZZ1GGSUR10
ZZ2GGSUR15
WW1SSNORTE20
WW1SSNORTE1
ZZ1SSNORTE2
ZZ1GGSUR9


Quiero asegurarme de que lo que estoy haciendo es correcto.

Quiero saber la diferencia entre 'Fondos' y 'Procesados' por categoría.

Crearía una nueva tabla para los distintos valores entre las tablas (Org, Center, Type_Code y Location).

Uniría cada DimTable a cada Fact Table.

Ahora, en esta parte, tengo todas las relaciones activas, pero las líneas W-W2-FF-South-500 de 'Fondos' no se llenan ya que no hay un golpe 'procesado' contra esta línea. Así que filtro en ambos sentidos, y luego obtengo errores. En este punto, ¿debo hacer que todas las relaciones estén inactivas y usar medidas separadas de 'USERELATIONSHIP' para cada categoría? es la única forma en que puedo hacer que funcione, pero parece muy redundante.

Cualquier ayuda sería apreciada.

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Creo que podrías crear una tabla de una sola dimensión como

DIM Table =
DISTINCT (
    UNION (
        SUMMARIZE (
            'Funds',
            'Funds'[Org],
            'Funds'[Center],
            'Funds'[Type_Code],
            'Funds'[Location]
        ),
        SUMMARIZE (
            'Processed',
            'Processed'[Org],
            'Processed'[Center],
            'Processed'[Type_Code],
            'Processed'[Location]
        )
    )
)

Esto no necesita estar vinculado a las tablas de hechos. A continuación, puede crear una medida como

Funds Minus Processed =
VAR TotalFunds =
    CALCULATE (
        SUM ( 'Funds'[Funds] ),
        TREATAS ( VALUES ( 'Dim Table'[Org] ), 'Funds'[Org] ),
        TREATAS ( VALUES ( 'Dim Table'[Center] ), 'Funds'[Center] ),
        TREATAS ( VALUES ( 'Dim Table'[Type_Code] ), 'Funds'[Type_Code] ),
        TREATAS ( VALUES ( 'Dim Table'[Location] ), 'Funds'[Location] )
    )
VAR TotalProcessed =
    CALCULATE (
        SUM ( 'Processed'[Processed] ),
        TREATAS ( VALUES ( 'Dim Table'[Org] ), 'Processed'[Org] ),
        TREATAS ( VALUES ( 'Dim Table'[Center] ), 'Processed'[Center] ),
        TREATAS ( VALUES ( 'Dim Table'[Type_Code] ), 'Processed'[Type_Code] ),
        TREATAS ( VALUES ( 'Dim Table'[Location] ), 'Processed'[Location] )
    )
RETURN
    TotalFunds - TotalProcessed

y úselo en objetos visuales con columnas de la tabla de dimensiones

¡Gracias!

¿Qué tan complicado es esto en una escala del 1 al 10? Lo estoy mirando pero no lo entiendo completamente.


Me gusta que tenga esto, pero ¿cómo es que una sola medida puede iterar sobre todo?

sc1.PNG

Es quizás un 7 en cuanto a complejidad. El problema es que no se puede crear una tabla de dimensiones normal con una relación de uno a varios con las tablas de hechos porque no hay una sola columna para usar.

Lo que la medida está haciendo es tomar todos los valores de las columnas de dimensión que son visibles en el contexto de filtro actual y, a continuación, decirle al modelo que use esos valores como filtros en la tabla de hechos. Lo que esto significa en la práctica es que al calcular la medida para el gráfico, la calculará individualmente para cada combinación de centro, organización y tipo, y así sumará los valores solo para aquellas filas de la tabla de hechos con el mismo centro y la misma organización y el mismo tipo. Debido a la forma en que está configurada la tabla de dimensiones, funcionará para cualquier combinación de columnas de la tabla de dimensiones.

Espero que esto lo haga un poco más claro.

¡Lo hace! pero todavía necesito practicar. ¿Hay algún programa de método para ver el paso a paso de una fórmula DAX? como un compilador en Python o C ++?

Supongo que mi cerebro todavía no entiende cómo una fórmula DAX puede ingresar / emitir múltiples aspectos (múltiples columnas de referencia).

El mejor consejo que puedo dar es revisar https://www.sqlbi.com/articles/ , leer sus artículos, ver sus videos y si puede tomar su curso de capacitación Mastering DAX.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.