Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Estoy haciendo exactamente lo mismo.
No espero que nadie pueda entender por qué las consultas son diferentes. Pero hombre... cuando haces clic en ese botón +, pagas por ello.
¡Las consultas dax son diferentes!
El desglose:
Consulta DAX
DEFINIR
VAR __DS0FilterTable =
TREATAS({"AutoZone"}, 'Nombre del cliente'[Nombre comercial Mayor])
VAR __DS0FilterTable2 =
TREATAS({"Recibir",
"Confirmado"}, 'Tabla RM_KEY'[Estado de retorno])
VAR __DS0FilterTable3 =
TREATAS({"Ajuste de stock",
"Ascensores"}, 'Tabla RM_KEY'[Tipo de retorno])
VAR __DS0FilterTable4 =
TREATAS({"AM"}, 'Nombre del cliente'[AM/OE/IC])
VAR __DS0FilterTable5 =
TREATAS(
{"'Nombre del cliente'[Nombre comercial mayor]",
"'Nombre del cliente'[Customer Name_ MT]"},
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Campos]
)
VAR __DS0FilterTable6 =
FILTER(KEEPFILTERS(VALUES('Tabla de fechas'[Año])), 'Tabla de fechas'[Año] > 2020)
VAR __DS0FilterTable7 =
TREATAS({"Y"}, 'tabla RM_KEY'[RM Flag])
VAR __DS0FilterTable8 =
TREATAS({"N",
BLANK()}, 'Partes'[ddp_flag])
VAR __DS0Core =
RESUMIRCOLUMNAS(
ROLLUPADDISSUBTOTAL(
'Nombre del cliente' [Nombre comercial major], "IsGrandTotalRowTotal",
'Nombre del cliente'[Customer Name_ MT], "IsDM1Total"
),
__DS0FilterTable,
__DS0FilterTable2,
__DS0FilterTable3,
__DS0FilterTable4,
__DS0FilterTable5,
__DS0FilterTable6,
__DS0FilterTable7,
__DS0FilterTable8,
"v_InventoryValue_RM", '1. Medidas»[$InventoryValue_RM],
"RM_Qty", '1. Medidas»[RM_Qty],
"Credit_Value_RM", '1. Medidas»[Credit_Value_RM],
"v_Scrap", '1. Medidas»[$Scrap],
"Returns_Processed_Qty", 'Returns - RT'[Returns_Processed_Qty],
"Credit_Value_RT", 'Returns - RT'[Credit_Value_RT],
"Returns_Qty_Delta", '1. Medidas»[Returns_Qty_Delta],
"Customer_Credit_Value_Delta", '1. Medidas»[Customer_Credit_Value_Delta],
"v_InventoryValue_RT", 'Returns - RT'[$InventoryValue_RT],
"Inventory_Value_Delta", '1. Medidas»[Inventory_Value_Delta],
"MinReturn_Status", IGNORE(CALCULATE(MIN('tabla RM_KEY'[Estado de retorno])))
)
VAR __DS0CoreTableByDM1 =
SELECTCOLUMNS(
KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsDM1Total] = TRUE)),
"IsGrandTotalRowTotal", [IsGrandTotalRowTotal],
"'Nombre del cliente'[Nombre comercial mayor]", 'Nombre del cliente'[Nombre comercial Mayor],
"SortBy_DM1_0", [v_InventoryValue_RM]
)
DONDE __DS0PrimaryWithSortColumns =
NATURALLEFTOUTERJOIN(
__DS0Core,
__DS0CoreTableByDM1
)
VAR __DS0PrimaryWindowed =
TOPN(
502,
__DS0PrimaryWithSortColumns,
[IsGrandTotalRowTotal],
0,
[SortBy_DM1_0],
0,
'Nombre del cliente' [Nombre comercial principal],
1,
[IsDM1Total],
0,
[v_InventoryValue_RM],
0,
'Nombre del cliente'[Customer Name_ MT],
1
)
VAR __DS0CoreNoInstanceFiltersNoTotals =
FILTER(KEEPFILTERS(__DS0Core), AND([IsGrandTotalRowTotal] = FALSE, [IsDM1Total] = FALSE))
EVALUAR
GROUPBY(
__DS0CoreNoInstanceFiltersNoTotals,
"MinRM_Qty", MINX(CURRENTGROUP(), [RM_Qty]),
"MaxRM_Qty", MAXX(CURRENTGROUP(), [RM_Qty]),
"Minv_InventoryValue_RM", MINX(CURRENTGROUP(), [v_InventoryValue_RM]),
"Maxv_InventoryValue_RM", MAXX(CURRENTGROUP(), [v_InventoryValue_RM]),
"MinCredit_Value_RM", MINX(CURRENTGROUP(), [Credit_Value_RM]),
"MaxCredit_Value_RM", MAXX(CURRENTGROUP(), [Credit_Value_RM]),
"Minv_Scrap", MINX(CURRENTGROUP(), [v_Scrap]),
"Maxv_Scrap", MAXX(CURRENTGROUP(), [v_Scrap]),
"MinReturns_Processed_Qty", MINX(CURRENTGROUP(), [Returns_Processed_Qty]),
"MaxReturns_Processed_Qty", MAXX(CURRENTGROUP(), [Returns_Processed_Qty]),
"MinCredit_Value_RT", MINX(CURRENTGROUP(), [Credit_Value_RT]),
"MaxCredit_Value_RT", MAXX(CURRENTGROUP(), [Credit_Value_RT]),
"MinReturns_Qty_Delta", MINX(CURRENTGROUP(), [Returns_Qty_Delta]),
"MaxReturns_Qty_Delta", MAXX(CURRENTGROUP(), [Returns_Qty_Delta]),
"MinCustomer_Credit_Value_Delta", MINX(CURRENTGROUP(), [Customer_Credit_Value_Delta]),
"MaxCustomer_Credit_Value_Delta", MAXX(CURRENTGROUP(), [Customer_Credit_Value_Delta]),
"Minv_InventoryValue_RT", MINX(CURRENTGROUP(), [v_InventoryValue_RT]),
"Maxv_InventoryValue_RT", MAXX(CURRENTGROUP(), [v_InventoryValue_RT]),
"MinInventory_Value_Delta", MINX(CURRENTGROUP(), [Inventory_Value_Delta]),
"MaxInventory_Value_Delta", MAXX(CURRENTGROUP(), [Inventory_Value_Delta])
)
EVALUAR
__DS0PrimaryWindowed
ORDENAR POR
[IsGrandTotalRowTotal] DESC
[SortBy_DM1_0] DESC
'Nombre del cliente' [Nombre comercial principal],
[IsDM1Total] DESC
[v_InventoryValue_RM] DESC
'Nombre del cliente'[Customer Name_ MT]
Consulta DAX
DEFINIR
VAR __DS0FilterTable =
TREATAS(
{"'Nombre del cliente'[Nombre comercial mayor]",
"'Nombre del cliente'[Customer Name_ MT]"},
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Campos]
)
VAR __DS0Core =
CALCULABLE(
RESUMIR(
«2. Devoluciones-Abiertas: Catagories»,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories]
),
KEEPFILTERS(__DS0FilterTable)
)
VAR __DS0BodyLimited =
TOPN(
152,
__DS0Core,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
1,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
1,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories],
1
)
EVALUAR
__DS0BodyLimited
ORDENAR POR
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories]
El botón +:
Consulta DAX
DEFINIR
VAR __DS0FilterTable =
TREATAS({"Recibir",
"Confirmado"}, 'Tabla RM_KEY'[Estado de retorno])
VAR __DS0FilterTable2 =
TREATAS({"Ajuste de stock",
"Ascensores"}, 'Tabla RM_KEY'[Tipo de retorno])
VAR __DS0FilterTable3 =
TREATAS({"AM"}, 'Nombre del cliente'[AM/OE/IC])
VAR __DS0FilterTable4 =
TREATAS(
{"'Nombre del cliente'[Nombre comercial mayor]",
"'Customer Name'[Customer Name_ MT]",
"'Piezas'[Catálogo #]"},
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Campos]
)
VAR __DS0FilterTable5 =
FILTER(KEEPFILTERS(VALUES('Tabla de fechas'[Año])), 'Tabla de fechas'[Año] > 2020)
VAR __DS0FilterTable6 =
TREATAS({"Y"}, 'tabla RM_KEY'[RM Flag])
VAR __DS0FilterTable7 =
TREATAS({"N",
BLANK()}, 'Partes'[ddp_flag])
VAR __DS0CoreNoInstanceFilters =
SELECTCOLUMNS(
KEEPFILTERS(
FILTRO(
KEEPFILTERS(
RESUMIRCOLUMNAS(
ROLLUPADDISSUBTOTAL(
'Nombre del cliente' [Nombre comercial major], "IsGrandTotalRowTotal",
'Nombre del cliente'[Customer Name_ MT], "IsDM1Total",
'Piezas'[Catálogo #], "IsDM3Total"
),
__DS0FilterTable,
__DS0FilterTable2,
__DS0FilterTable3,
__DS0FilterTable4,
__DS0FilterTable5,
__DS0FilterTable6,
__DS0FilterTable7,
"v_InventoryValue_RM", '1. Medidas»[$InventoryValue_RM],
"RM_Qty", '1. Medidas»[RM_Qty],
"Credit_Value_RM", '1. Medidas»[Credit_Value_RM],
"v_Scrap", '1. Medidas»[$Scrap],
"Returns_Processed_Qty", 'Returns - RT'[Returns_Processed_Qty],
"Credit_Value_RT", 'Returns - RT'[Credit_Value_RT],
"Returns_Qty_Delta", '1. Medidas»[Returns_Qty_Delta],
"Customer_Credit_Value_Delta", '1. Medidas»[Customer_Credit_Value_Delta],
"v_InventoryValue_RT", 'Returns - RT'[$InventoryValue_RT],
"Inventory_Value_Delta", '1. Medidas»[Inventory_Value_Delta],
"MinReturn_Status", CALCULATE(MIN('tabla RM_KEY'[Estado de retorno])),
"HasDataOpen_SO", IGNORAR(
CALCULATE(NOT(ISEMPTY('Open SO')))
),
"HasDataPK_Table", IGNORAR(
CALCULATE(NOT(ISEMPTY('PK Table')))
),
"HasDataFill_Rate_Shipments", IGNORAR(
CALCULATE(NOT(ISEMPTY('Fill Rate Shipments')))
),
"HasDataInvoiced_Dollars", IGNORAR(
CALCULATE(NOT(ISEMPTY('Dólares facturados')))
),
"HasDataForecast", IGNORE(
CALCULATE(NOT(ISEMPTY('Forecast')))
),
"HasDataReturns___RT", IGNORAR(
CALCULATE(NOT(ISEMPTY('Returns - RT')))
),
"HasDataReturns___RM", IGNORAR(
CALCULATE(NOT(ISEMPTY('Devoluciones - RM')))
)
)
),
OR(
OR(
OR(
OR(
OR(
OR(
OR(
OR(
OR(
OR(
NO(ISBLANK([v_InventoryValue_RM])),
NO(ISBLANK([RM_Qty]))
),
NO(ISBLANK([Credit_Value_RM]))
),
NO(ISBLANK([v_Scrap]))
),
NO(ISBLANK([Returns_Processed_Qty]))
),
NO(ISBLANK([Credit_Value_RT]))
),
NO(ISBLANK([Returns_Qty_Delta]))
),
NO(ISBLANK([Customer_Credit_Value_Delta]))
),
NO(ISBLANK([v_InventoryValue_RT]))
),
NO(ISBLANK([Inventory_Value_Delta]))
),
OR(
OR(
OR(
OR(
OR(OR([HasDataOpen_SO], [HasDataPK_Table]), [HasDataFill_Rate_Shipments]),
[HasDataInvoiced_Dollars]
),
[HasDataForecast]
),
[HasDataReturns___RT]
),
[HasDataReturns___RM]
)
)
)
),
"'Nombre del cliente'[Nombre comercial mayor]", 'Nombre del cliente'[Nombre comercial Mayor],
"'Nombre del cliente'[Customer Name_ MT]", 'Customer Name'[Customer Name_ MT],
"'Piezas'[Catálogo #]", 'Piezas'[Catálogo #],
"IsGrandTotalRowTotal", [IsGrandTotalRowTotal],
"IsDM1Total", [IsDM1Total],
"IsDM3Total", [IsDM3Total],
"v_InventoryValue_RM", [v_InventoryValue_RM],
"RM_Qty", [RM_Qty],
"Credit_Value_RM", [Credit_Value_RM],
"v_Scrap", [v_Scrap],
"Returns_Processed_Qty", [Returns_Processed_Qty],
"Credit_Value_RT", [Credit_Value_RT],
"Returns_Qty_Delta", [Returns_Qty_Delta],
"Customer_Credit_Value_Delta", [Customer_Credit_Value_Delta],
"v_InventoryValue_RT", [v_InventoryValue_RT],
"Inventory_Value_Delta", [Inventory_Value_Delta],
"MinReturn_Status", [MinReturn_Status]
)
VAR __DS0Core =
FILTRO(
KEEPFILTERS(__DS0CoreNoInstanceFilters),
OR(
OR(
OR([IsGrandTotalRowTotal], AND(NOT([IsGrandTotalRowTotal]), [IsDM1Total])),
Y(
AND(NOT([IsDM1Total]), [IsDM3Total]),
'Nombre del cliente'[Nombre comercial principal] EN {"AutoZone"}
)
),
Y(
AND(NOT([IsDM3Total]), 'Customer Name'[Business Name Major] EN {"AutoZone"}),
('Nombre del cliente'[Nombre comercial principal], 'Nombre del cliente'[Name_ MT]) EN {("AutoZone", "AUTOZONE VDP")}
)
)
)
VAR __DS0CoreTableByDM1 =
SELECTCOLUMNS(
KEEPFILTERS(
FILTER(KEEPFILTERS(__DS0Core), AND([IsDM1Total] = TRUE, [IsDM3Total] = TRUE))
),
"IsGrandTotalRowTotal", [IsGrandTotalRowTotal],
"'Nombre del cliente'[Nombre comercial mayor]", 'Nombre del cliente'[Nombre comercial Mayor],
"SortBy_DM1_0", [v_InventoryValue_RM]
)
VAR __DS0CoreTableByDM3 =
SELECTCOLUMNS(
KEEPFILTERS(FILTER(KEEPFILTERS(__DS0Core), [IsDM3Total] = TRUE)),
"IsGrandTotalRowTotal", [IsGrandTotalRowTotal],
"'Nombre del cliente'[Nombre comercial mayor]", 'Nombre del cliente'[Nombre comercial Mayor],
"IsDM1Total", [IsDM1Total],
"'Nombre del cliente'[Customer Name_ MT]", 'Customer Name'[Customer Name_ MT],
"SortBy_DM3_0", [v_InventoryValue_RM]
)
DONDE __DS0PrimaryWithSortColumns =
NATURALLEFTOUTERJOIN(
NATURALLEFTOUTERJOIN(
__DS0Core,
__DS0CoreTableByDM1
),
__DS0CoreTableByDM3
)
VAR __DS0PrimaryWindowed =
TOPN(
502,
__DS0PrimaryWithSortColumns,
[IsGrandTotalRowTotal],
0,
[SortBy_DM1_0],
0,
'Nombre del cliente' [Nombre comercial principal],
1,
[IsDM1Total],
0,
[SortBy_DM3_0],
0,
'Nombre del cliente'[Customer Name_ MT],
1,
[IsDM3Total],
0,
[v_InventoryValue_RM],
0,
'Piezas'[Catálogo #],
1
)
VAR __DS0CoreNoInstanceFiltersNoTotals =
FILTRO(
KEEPFILTERS(__DS0CoreNoInstanceFilters),
AND(AND([IsGrandTotalRowTotal] = FALSE, [IsDM1Total] = FALSE), [IsDM3Total] = FALSE)
)
EVALUAR
GROUPBY(
__DS0CoreNoInstanceFiltersNoTotals,
"MinRM_Qty", MINX(CURRENTGROUP(), [RM_Qty]),
"MaxRM_Qty", MAXX(CURRENTGROUP(), [RM_Qty]),
"Minv_InventoryValue_RM", MINX(CURRENTGROUP(), [v_InventoryValue_RM]),
"Maxv_InventoryValue_RM", MAXX(CURRENTGROUP(), [v_InventoryValue_RM]),
"MinCredit_Value_RM", MINX(CURRENTGROUP(), [Credit_Value_RM]),
"MaxCredit_Value_RM", MAXX(CURRENTGROUP(), [Credit_Value_RM]),
"Minv_Scrap", MINX(CURRENTGROUP(), [v_Scrap]),
"Maxv_Scrap", MAXX(CURRENTGROUP(), [v_Scrap]),
"MinReturns_Processed_Qty", MINX(CURRENTGROUP(), [Returns_Processed_Qty]),
"MaxReturns_Processed_Qty", MAXX(CURRENTGROUP(), [Returns_Processed_Qty]),
"MinCredit_Value_RT", MINX(CURRENTGROUP(), [Credit_Value_RT]),
"MaxCredit_Value_RT", MAXX(CURRENTGROUP(), [Credit_Value_RT]),
"MinReturns_Qty_Delta", MINX(CURRENTGROUP(), [Returns_Qty_Delta]),
"MaxReturns_Qty_Delta", MAXX(CURRENTGROUP(), [Returns_Qty_Delta]),
"MinCustomer_Credit_Value_Delta", MINX(CURRENTGROUP(), [Customer_Credit_Value_Delta]),
"MaxCustomer_Credit_Value_Delta", MAXX(CURRENTGROUP(), [Customer_Credit_Value_Delta]),
"Minv_InventoryValue_RT", MINX(CURRENTGROUP(), [v_InventoryValue_RT]),
"Maxv_InventoryValue_RT", MAXX(CURRENTGROUP(), [v_InventoryValue_RT]),
"MinInventory_Value_Delta", MINX(CURRENTGROUP(), [Inventory_Value_Delta]),
"MaxInventory_Value_Delta", MAXX(CURRENTGROUP(), [Inventory_Value_Delta])
)
EVALUAR
__DS0PrimaryWindowed
ORDENAR POR
[IsGrandTotalRowTotal] DESC
[SortBy_DM1_0] DESC
'Nombre del cliente' [Nombre comercial principal],
[IsDM1Total] DESC
[SortBy_DM3_0] DESC
'Nombre del cliente'[Customer Name_ MT],
[IsDM3Total] DESC
[v_InventoryValue_RM] DESC
'Piezas'[Catálogo #]
Consulta DAX
DEFINIR
VAR __DS0FilterTable =
TREATAS(
{"'Nombre del cliente'[Nombre comercial mayor]",
"'Customer Name'[Customer Name_ MT]",
"'Piezas'[Catálogo #]"},
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Campos]
)
VAR __DS0Core =
CALCULABLE(
RESUMIR(
«2. Devoluciones-Abiertas: Catagories»,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories]
),
KEEPFILTERS(__DS0FilterTable)
)
VAR __DS0BodyLimited =
TOPN(
152,
__DS0Core,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
1,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
1,
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories],
1
)
EVALUAR
__DS0BodyLimited
ORDENAR POR
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories Order],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Campos catagories],
«2. Devoluciones-Abiertas: Catagories»[2. Devoluciones-Abierto: Catagories]
Interesante, nunca me di cuenta de eso, aunque no uso el desglose a menudo. Puede usar la funcionalidad del analizador de rendimiento en Power BI Desktop para ver si las consultas DAX generadas son diferentes.