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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Creación de una medida de Dax para un objeto visual para filtrar la fecha máxima de un identificador

Hola

He creado una medida de tabla calculada a continuación y logra lo que quería:

Filtrado Table_final =
VAR por debajoFecha =
FILTRO (
«cumulus_licensee estatemanagement_contacts»,
'cumulus_licensee estatemanagement_contacts'[CreatedOn] < [pDate]
)
VAR setRowId =
ADDCOLUMNS (
«cumulus_licensee estatemanagement_contacts»,
"clave",
NÚMERO DE FILA (
por debajo de la fecha,
ORDERBY ( 'cumulus_licensee estatemanagement_contacts'[CreatedOn], DESC ) /*PARTITIONBY ( 'cumulus_licensee estatemanagement_contacts'[CreatedOn] )*/
)
)
VAR firstRows =
FILTRO ( setRowId, [clave] = 1 )
Resultado del VAR =
SELECTCOLUMNS (
firstRows,
"CreatedDate", 'cumulus_licensee estatemanagement_contacts'[CreatedOn],
"id", 'cumulus_licensee estatemanagement_contacts'[id],
"Dbname_id",
'cumulus_licensee estatemanagement_contacts'[DBName_id] /*"Nombre", main[Nombre],
"Superficie de suelo", Principal[Superficie de suelo]*/
)
DEVOLUCIÓN
resultado

Lo único que espero es si podemos convertir esto en una medida que no devuelva una tabla física. Porque cuando usamos una tabla calculada en nuestro informe que contiene millones de filas, se producen problemas de rendimiento.

Entonces, cuando copio esta medida de tabla calculada y creo una nueva medida de dax y pego esta medida para crear una nueva medida, obtengo un error inferior

sivarajan21_3-1701671694806.png

Así que creé una medida de dax como se muestra a continuación para lograr lo mismo en mi archivo de muestra:

Medida 6 = calculate(max('cumulus_licensee estatemanagement_contacts'[CreatedOn]),FILTER('cumulus_licensee estatemanagement_contacts',
'cumulus_licensee estatemanagement_contacts'[CreatedOn] <= SELECTEDVALUE('Calendario'[Fecha])))

Aquí mi DBName_id único será varias fechas Creadas, por ejemplo: EMSQL_ARNOLDCLARK-101

Mi resultado esperado sería un objeto visual como se muestra a continuación, debe filtrar todo el objeto visual para la fecha máxima cuando arrastramos esa medida al panel visual o de filtro. Por ejemplo, en este caso, la fecha máxima es '16/09/2021 23:59:07', pero en su lugar da toda la fecha encontrada para el EMSQL_ARNOLDCLARK-101 correspondiente. Solo necesitamos la fecha máxima en visual.

Los campos utilizados en el objeto visual de tabla son:

  • DBName_id de cumulus_licensee estatemanagement_contacts mesa
  • Creado a partir de cumulus_licensee estatemanagement_contacts
  • La segmentación de fechas proviene de la tabla Calendario

sivarajan21_4-1701671915337.png

¿Podría ayudarnos a resolver este problema, o ayudarnos con una nueva medida o modificar la medida anterior?

Solo necesitamos una medida DAX que se pueda usar en un objeto visual en lugar de una medida de tabla calculada que devuelva una tabla física.

Archivo de muestra de PFA en el siguiente enlace

Timetravel.pbix

¡Gracias de antemano!

@Ahmedx @marcorusso @Greg_Deckler @Ashish_Mathur @amitchandak

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

En ella @v-tangjie-msft

¡De acuerdo!

Cerraré esta consulta y aceptaré su solución😊

Gracias

Syndicate_Admin
Administrator
Administrator

@sivarajan21 ,

Por favor, utilice la respuesta a la publicación actual como una solución, y para otras preguntas posteriores, inicie un nuevo hilo para estar más enfocado y para que más ingenieros y usuarios se involucren. Gracias de antemano.

Saludos

Neeko Tang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

En ella @v-tangjie-msft ,

¡Esto es increíble y funciona perfectamente como se muestra a continuación! 😊

sivarajan21_2-1701941105378.png

Pero cuando arrastro en la columna Nombre desde 'cumulus_licensee estatemanagement_contacts' en el objeto visual, los registros se dividen en dos filas porque hay varios registros (en este caso 2) para la columna Nombre para ese DBName_id en particular.

Mi resultado esperado sería el siguiente:

sivarajan21_1-1701941037586.png

Además, estoy tratando de encontrar el recuento de DBName_id para las condiciones anteriores (columnas seleccionadas, condiciones de filtro)

A continuación se muestra la medida de dax que probé para ello:
Recuento =
COUNTROWS (
FILTRO (
RESUMIR (
«cumulus_licensee estatemanagement_contacts»,
'cumulus_licensee estatemanagement_contacts'[DBName_id]
),
[Compás 2] > 0
)

)

Por alguna razón no funciona correctamente.

También estoy tratando de encontrar el recuento de DBName-Point_id distintos de la tabla cumulus_licensee estatemanagement_points

Por favor, ayúdame a resolver este problema

Archivo PFA aquí Viaje en el tiempo (1).pbix

¡Gracias de antemano!

@v-tangjie-msft @Ahmedx

Syndicate_Admin
Administrator
Administrator

@sivarajan21 ,

Puede crear una medida.

Measure 2 = 
CALCULATE (
    MAX ( 'cumulus_licensee estatemanagement_contacts'[CreatedOn] ),
    FILTER (
        ALLSELECTED ( 'cumulus_licensee estatemanagement_contacts' ),
        'cumulus_licensee estatemanagement_contacts'[CreatedOn]
            <= SELECTEDVALUE ( 'Calendar'[Date] )
    )
)

vtangjiemsft_0-1701930497317.png

Saludos

Neeko Tang

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Por favor, pruebe esto

Filtered Table_final =
SUMX('cumulus_licensee estatemanagement_contacts',
VAR belowDate =
FILTER (
'cumulus_licensee estatemanagement_contacts',
'cumulus_licensee estatemanagement_contacts'[CreatedOn] < [pDate]
)
VAR setRowId =
ADDCOLUMNS (
'cumulus_licensee estatemanagement_contacts',
"key",
ROWNUMBER (
belowdate,
ORDERBY ( 'cumulus_licensee estatemanagement_contacts'[CreatedOn], DESC ) /*PARTITIONBY ( 'cumulus_licensee estatemanagement_contacts'[CreatedOn] )*/
)
)
VAR firstRows =
FILTER ( setRowId, [key] = 1 )
VAR result =
SELECTCOLUMNS (
firstRows,
"CreatedDate", 'cumulus_licensee estatemanagement_contacts'[CreatedOn],
"Id", 'cumulus_licensee estatemanagement_contacts'[Id],
"Dbname_id",
'cumulus_licensee estatemanagement_contacts'[DBName_id] /*"Name", Main[Name],
"Floor Area", Main[Floor Area]*/
)
RETURN
result)

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors