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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Anonymous
Not applicable

Creación de una segmentación de fecha personalizada

Hola

Estoy tratando de crear un parámetro/variable/fórmula para devolver un período de tiempo determinado. Tengo tres períodos.

Quiero que el usuario pueda seleccionar un nombre de campaña de marketing y los cambios de datos en función de la segmentación de campaña a las fechas siguientes.

Campaña de marketing

Penetración: 1/1/18 a 5/25/2018

BOGO: 5/26/18 a 7/4/18

Ofertas contratadas: 7/5/18 - 10/15/18

Empecé haciendo una mesa con los nombres de las campañas.

Campaña de marketingÍndice
Penetración1
Bogo2
Ofertas contratadas3

Incluí un índice y ordené por el índice, por lo que cuando agredo los valores de la tabla como una tarjeta, aparecen en el orden deseado.

Después de eso no sé cómo configurar mis variables o crear medidas para usar en la fórmula switch. No creo que necesite parámetros en este caso, pero no sé cómo establecer el intervalo de fechas de ninguna manera. Estoy a menos de 40 horas en la construcción de DAX.

Después de tener mis variables creo que puedo usar Switch(True(),

[Campaña seleccionada] - "Penetración", [Penetración] ),

[Campaña seleccionada] - "BOGO", [BOGO] ),

[Campaña seleccionada] - "Ofertas contratadas", [Ofertas contratadas] ),

[????] )

Pero voy a ser atrapado de nuevo porque no consigo cómo crear un período de tiempo para el período falso que sería 1/1/18 - 10/15/18. Supongo que otra opción sería tener cuatro períodos con uno siendo el período completo.

¡Agradezco la ayuda!

6 REPLIES 6
v-alq-msft
Community Support
Community Support

Hola, @ibesmond

Según su descripción, creé datos para reproducir su escenario. El archivo pbix se adjunta al final.

Mesa:

g1.png

Prueba:

g2.png

Calendario (una tabla calculada):

Calendar = CALENDAR(DATE(2015,1,1),DATE(2020,12,31))

No hay ninguna relación entre tablas. Puede crear dos medidas como se indica a continuación.

DateRange = 
var _cam = SELECTEDVALUE('Table'[Marketing Campaign])
return
IF(
    ISFILTERED(Test[Marketing Campaign]),
    SWITCH(
        TRUE(),
        "Penetration" in DISTINCT(Test[Marketing Campaign])&&_cam = "Penetration",
        "1/1/18 to 5/25/2018",
        "BOGO" in DISTINCT(Test[Marketing Campaign])&&_cam = "BOGO",
        "5/26/18 to 7/4/18",
        "Contracted Deals" in DISTINCT(Test[Marketing Campaign])&&_cam = "Contracted Deals",
        "7/5/18 to 10/15/18",
        BLANK()
    )
)

Visual Control = 
var _date = SELECTEDVALUE('Calendar'[Date])
return
IF(
    ISFILTERED(Test[Marketing Campaign]),
    IF(
        HASONEVALUE(Test[Marketing Campaign]),
        SWITCH(
            SELECTEDVALUE(Test[Marketing Campaign]),
            "Penetration",
            IF(
                _date>=DATE(2018,1,1)&&
                _date<=DATE(2018,5,25),
                1,0
            ),
            "BOGO",
            IF(
                _date>=DATE(2018,5,26)&&
                _date<=DATE(2018,7,4),
                1,0
            ),
            "Contracted Deals",
            IF(
                _date>=DATE(2018,7,5)&&
                _date<=DATE(2018,10,15),
                1,0
            )
        ),
        0
    ),
    0
)

Por último, debe poner la medida 'Control visual' en el filtro de nivel visual correspondiente para filtrar el resultado.

h1.png

h2.png

h3.png

Saludos

Allan

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

Anonymous
Not applicable

Gracias por la ayuda.

No pude hacerlo funcionar hasta que descubrí que necesitaba crear una nueva tabla y escribirla como una fórmula.

La solución funcionó una vez que descubrí esa parte. Tuve que añadir algunas fechas dinámicas y lo hice ajustando la fecha (2020,5,1) a MAX(DATE) en las dos fórmulas DAX.

Sin embargo, cuando intento anular la selección del período determinado para ver el período de tiempo general, no funciona.

Hola, @ibesmond

No tengo muy claro su requisito. ¿Podría mostrarnos algunos datos de ejemplo y los resultados esperados con OneDrive para la empresa? Enmascarar los datos confidenciales antes de cargarlos. Gracias.

Saludos

Allan

lbendlin
Super User
Super User

Para sus campañas, agregue dos columnas más a la tabla de referencia. Fecha de inicio y fecha de finalización.

A continuación, cuando se selecciona una campaña, puede filtrar la tabla de fechas mediante DATESBETWEEN() con las fechas de la campaña seleccionada.

Esto filtrará automáticamente la tabla de transacciones para ese intervalo de fechas.

Nota: Si usted compara solamente contra un solo valor usted puede simplificar la sentencia switch así:

Switch([Campaign Selected],"Penetration", [Penetration],"BOGO", [BOGO],"Contracted Deals", [Contracted Deals] ,o de lo contrario)

Anonymous
Not applicable

Gracias por la ayuda.

No pude averiguar cómo escribir las fechas entre la fórmula, y en realidad tengo datos que van en fechas dinámicas. No pude averiguar cómo escribir en una tabla MAX(Date) o TODAY(), así que no pude adoptar este enfoque.

¡Apreciamos la ayuda!

AllisonKennedy
Super User
Super User

¿Cuál es la fórmula para [Ofertas contratadas]?

Supongo que incluye el intervalo de fechas, así que construye algo similar con la condición falsa.

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors