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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Reply
Anonymous
Not applicable

Medida DAX para filtrar tablas no relacionadas

Tengo una tabla en el modelo sSAS tabular con fecha de entrega de vehículos.

ViejoDeliveryYear
V12016
V22017
V32017
V42018
V52018
V62018
V72018
V82019
V92019
V102019

Hay una tabla de dimensiones Dim_Age -

Edad
1
2
3
4
5
6
7
8
9
10

Necesito escribir un DAX para mostrar el recuento de entrega para cada año.

En el informe de PowerBI que se conecta al modelo tabular, el usuario puede seleccionar el filtro Edad (múltiple) del filtro que se encuentra en Dim_Age. Por lo tanto, si el usuario selecciona Edad 1 debe mostrar el recuento de entregas de 2019 para el año 2020.

añoAgeselctedContar
202013
20201 y 27
202041

Ahora el desafío es que estoy trabajando en SSAS 2016 versión de compilación 13.0.5426.0. Esta versión no es compatible con la función "IN". He intentado a continuación y esto no funciona.

var selecteyear = IF(HASONEVALUE(Dim_Cal[year]);VALUES(Dim_cal[year]))
CALCULATE(COUNT(Delivery_Data[Vechile]); (selectedyear - Delivery_Data[DeliveryYear]) in VALUES(Dim_Age[Age]);

Por favor, ayude a conocer la solución alternativa.

6 REPLIES 6
v-xicai
Community Support
Community Support

Hola @MMjoshi ,

Puede crear una medida como DAX a continuación.

Count =

VAR selecteyear =

    SELECTEDVALUE ( Dim_cal[year] )

RETURN

    COUNTROWS (

        FILTER (

            SUMMARIZE (

                Dalivery_data,

                Dalivery_data[Vechile],

                Dalivery_data[DeliveryYear],

                "Age", selecteyear - Dalivery_data[DeliveryYear]

            ),

            CONTAINS ( Dim_Age, Dim_Age[Age], [Age] )

        )

    )

Saludos

Amy

Equipo de Apoyo Comunitario _ Amy

Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Anonymous
Not applicable

Gracias @v-xicai .

Cualquier idea por favor, cómo mejorar el rendimiento de esto. La tabla tiene 5 millones de filas y la medida está funcionando lentamente.

saludos

Mmj

MFelix
Super User
Super User

Hola @MMjoshi ,

Puede intentar hacer lo siguiente:

Measure =
VAR selecteyear = IF(HASONEVALUE(Dim_Cal[year]);VALUES(Dim_cal[year]))
VAR temp_table =
    FILTER (
        ADDCOLUMNS (
            SUMMARIZE ( Dalivery_data; Dalivery_data[Vechile]; Dalivery_data[DeliveryYear] );
            "@Age"; 2020 - Dalivery_data[DeliveryYear]
        );
        CONTAINSROW ( Dim_Age; [@Age] )
    )
RETURN
    COUNTROWS ( temp_table )

Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Anonymous
Not applicable

Gracias @MFelix

La versión de SSAS que estoy usando tampoco admite la función CONTAINSROW. Pero veo que la diversión de CONTAINS está disponible. ¿Puedo hacer algo con esta función? ¡Gracias!

Hola @MMjoshi ,

Pruebe el siguiente código:

Measure = 
VAR selecteyear = IF(HASONEVALUE(Dim_Cal[year]);VALUES(Dim_cal[year]))
VAR temp_table =
    FILTER (
        ADDCOLUMNS (
            SUMMARIZE ( Dalivery_data; Dalivery_data[Vechile]; Dalivery_data[DeliveryYear] );
            "@Age"; 2020 - Dalivery_data[DeliveryYear]
        );
        CONTAINS(  Dim_Age;Dim_Age[Age]; [@Age] )
    )
RETURN
    COUNTROWS ( temp_table )

Regards

Miguel Félix


Did I answer your question? Mark my post as a solution!

Proud to be a Super User!

Check out my blog: Power BI em Português



Anonymous
Not applicable

Gracias @MFelix

Funciona. Pero el rendimiento es lento. Tengo 5 millones de filas en la tabla para resumir y 5 dimensiones más como filtro otro que la edad.

saludos

Mmj

Helpful resources

Announcements
Fabric Community Conference

Microsoft Fabric Community Conference

Join us at our first-ever Microsoft Fabric Community Conference, March 26-28, 2024 in Las Vegas with 100+ sessions by community experts and Microsoft engineering.

Top Solution Authors
Top Kudoed Authors