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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Cómo concatenar el valor de varias columnas para usarlo en una medida

Hola a todos,

Perdón por el tema, pero no sé cómo resumir mi pregunta.

Tengo licencia de Power BI Pro. Tengo un informe de ventas que tiene 53 millones de filas, el tamaño del archivo .pbix es de 1,2 GB. De momento no puedo publicarlo.

Para reducir el tamaño de la misma, utilicé VertiPaq Analyzer y dividí la columna más grande (ID de factura) en tres columnas como

Factura ID.1, Factura ID.2 y Factura ID.3

El tipo de datos de la factura ID.1 es texto y los demás son números enteros.

Ahora el tamaño de mi archivo es de 0,8 GB. para poder publicarlo.

Pero tengo varias medidas que usan la columna ID de factura y tengo que actualizar mis medidas.

Supongo que debería usar summarize o summarizecolumns, pero no tengo idea de cómo usarlas.

por ejemplo, las siguientes medidas son para contar distintos ID de factura y resumir el importe de la factura.

¿Cómo debo actualizarlos?

Total Invoice = 
CALCULATE(
DISTINCTCOUNT('Sales'[Invoice ID])

Invoice Amount =
SUMX (
    VALUES ( 'Sales'[Invoice ID]  ),
    CALCULATE ( SELECTEDVALUE ( 'Sales'[Sales Amount] ) )

Atentamente

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Estimados @Fowmy,

Averigüé cómo actualizar mi columna calculada en función de sus respuestas. Gracias por su ayuda.

para la columna calculada utilicé

Unique Category Count = 
IF(Sales[Category Count] = 1,
CALCULATE(DISTINCTCOUNT(Sales[Category]),
ALLEXCEPT( Sales, Sales[Invoice ID.1],Sales[Invoice ID.2],Sales[Invoice ID.3])),0)

y a mi medida

Uniqe Category Invoices = 
CALCULATE(
   DISTINCTCOUNT(Sales[Category]),
   ALLEXCEPT(Sales, Sales[Invoice ID.1],Sales[Invoice ID.2],Sales[Invoice ID.3],'Date'[Year Month]))

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Estimados @Fowmy,

Averigüé cómo actualizar mi columna calculada en función de sus respuestas. Gracias por su ayuda.

para la columna calculada utilicé

Unique Category Count = 
IF(Sales[Category Count] = 1,
CALCULATE(DISTINCTCOUNT(Sales[Category]),
ALLEXCEPT( Sales, Sales[Invoice ID.1],Sales[Invoice ID.2],Sales[Invoice ID.3])),0)

y a mi medida

Uniqe Category Invoices = 
CALCULATE(
   DISTINCTCOUNT(Sales[Category]),
   ALLEXCEPT(Sales, Sales[Invoice ID.1],Sales[Invoice ID.2],Sales[Invoice ID.3],'Date'[Year Month]))
Syndicate_Admin
Administrator
Administrator

@jamuka

Total Invoice = 
COUNTROWS(
    SUMMARIZE(Sales ,Sales[Invoice ID.1] ,Sales[Invoice ID.2] ,Sales[Invoice ID.3] )
)

Invoice Amount =
SUMX (
    SUMMARIZE(Sales ,Sales[Invoice ID.1] ,Sales[Invoice ID.2] ,Sales[Invoice ID.3] ),
    CALCULATE ( SUM(Sales[Sales Amount] ) )
)



Estimados @Fowmy

Perdón por la respuesta tardía. Actualicé mis medidas y funcionó, pero tengo varias medidas en las que uso ALLEXCEPT pero no pude hacer que mi fórmula funcionara.

A continuación puedes encontrar una de las medidas. También tengo una pregunta sobre su primera fórmula, en lugar de DISTINCTCOUNT usó COUNTROWS, ¿son lo mismo? En mi informe, el ID de factura no es único, por lo que pensé que debería usar DISTINCTCOUNT. Pero COUNTROWS también funciona.

Unique Category Count = 
IF(Sales[Category Count] = 1,
CALCULATE(
DISTINCTCOUNT(Sales[Category]),
ALLEXCEPT(Sales,Sales[Invoice ID])),0
)

saludos

@jamuka

Puede modificar la medida de la siguiente manera:

Unique Category Count =
IF (
    Sales[Category Count] = 1,
    CALCULATE (
        DISTINCTCOUNT ( Sales[Category] ),
        SUMMARIZE (
            Sales,
            Sales[Invoice ID.1],
            Sales[Invoice ID.2],
            Sales[Invoice ID.3]
        ),
        REMOVEFILTERS ( Sales )
    )
)


Con respecto a su pregunta, CONTROWS se puede usar para contar una columna o tabla distinta, usé SUMMARIZE que obtiene la combinación distinta de los números de factura de tres columnas y cuenta.

gracias, se me olvidaba que no creamos una columna real sino virtual.

También me doy cuenta de que cometí un error en mi última respuesta, la fórmula que escribí es para una columna calculada, cuando creo una columna con su fórmula, muestra el mismo valor en todas las celdas.

También ahí tengo fórmulas donde hay dos columnas y RemoveFilters no funcionó con dos columnas, me sale un mensaje que dice

"No se permiten varios argumentos de tabla en la función ALL/ALLNOBLANKROW/REMOVEFILTERS".

Uniqe Category Invoices = 
CALCULATE(
   DISTINCTCOUNT(Sales[Category]),
   ALLEXCEPT(Sales,Sales[Invoice ID],'Date'[Year Month])
   )

Lamento la confusión.

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Prices go up Feb. 11th.

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors