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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Si una fecha es igual a x de otra tabla, entonces 1 else 0

Necesito ayuda para averiguar si una persona en mi conjunto de datos estuvo presente en un día específico.

La tabla relevante es la Tabla de hechos y una tabla de dimensiones (dimContacts). Me gustaría hacer esto usando una columna personalizada o una medida, si es posible ambas.

Tengo un 1 * Mucha cardinalidad.

(Cuando intento hacer esto con una instrucción if, no obtengo una opción para elegir una columna de otra tabla, también intenté usar la función Relacionar, pero realmente no pude hacer que eso funcionara).

Cualquier ayuda es muy apreciada.

1 ACCEPTED SOLUTION

Entonces, ¿algo como esto como una columna calculada?

DimContacts[PresentOnEventDate] =
VAR EventDate = DATE ( 2021, 6, 30 ) /*whatever fixed date*/
VAR ContactDates = CALCULATETABLE ( VALUES ( FactTable[Date] ) )
RETURN
    IF ( EventDate IN ContactDates, 1, 0 )

View solution in original post

16 REPLIES 16
Syndicate_Admin
Administrator
Administrator

¿A qué tabla está intentando agregar una columna calculada?

¿Cómo sería un visual con esta medida?

Estoy tratando de agregar esto a la tabla dimContacts.

Estaría usando esto para medir para ver cuántas personas estaban presentes ese día y, finalmente, si esas mismas personas estuvieran presentes 7 días después, 14 días después, etc. Esto se convertiría esencialmente en un gráfico de líneas o algo que mostraría la caída en horas extras.

TotalSemana 1Semana 2Semana 3
Campaña 11501009510
Total (en el día)150200250200
% Cambio100%50%38%5%

Para que sea una columna calculada en dimContacts, esa tabla debe tener varias filas por contacto (para varias fechas), o bien solo puede verificar si ese contacto estuvo presente en una fecha específica (que no puede ser seleccionada dinámicamente por una segmentación de datos ya que las columnas calculadas pueden ser dinámicas de esta manera).

Solo tengo una fila para una persona específica y solo necesito resultados para ese día, ya que este día es un evento y no necesito que esto se vea afectado por ninguna cortadora.

Así es como se ve la estructura:


DimContacts:

ContactIDNombre
1Joe
2justo

Tabla de hechos:

ContactIDFecha
106/12/2021
103/12/2021
103/12/2021
209/11/2021
209/11/2021
208/11/2021

Entonces, ¿algo como esto como una columna calculada?

DimContacts[PresentOnEventDate] =
VAR EventDate = DATE ( 2021, 6, 30 ) /*whatever fixed date*/
VAR ContactDates = CALCULATETABLE ( VALUES ( FactTable[Date] ) )
RETURN
    IF ( EventDate IN ContactDates, 1, 0 )

Además, dado que quiero saber si la misma persona estaba en el sitio 7 días después, ¿recomendaría una medida o una columna personalizada para esto?
Terminaré con unas 10-15 columnas adicionales para todos los diferentes eventos, así que, solo curiosidad por saber cuál sería la mejor manera de hacerlo.

Una medida puede ser un poco más flexible. Probablemente podría escribir uno en lugar de 10-15, ya que la variable EventDate no tiene que ser una constante fija en una medida (puede depender de una segmentación de datos o un contexto de filtro local).

El siguiente gráfico es lo que estoy tratando de lograr, quiero tener una cortadora donde pueda ver diferentes eventos y los valores de la semana y el presente (recuento total para ese día) cambiarían.

¿Podría esto ser acertado con una sola medida?

RykerZyker_0-1638757123170.png

Realmente no entiendo lo que significa cualquiera de los números, pero no creo que deba necesitar más de tres medidas (Campaña, Total, % de cambio).

La campaña 1 es el recuento total de personas presentes que asistieron al evento/campaña. El total a continuación es el recuento general de personas en el sitio.
Debería poder hacer las medidas para el cambio total y porcentual, pero todavía no estoy seguro de cómo agregaría más campañas con diferentes fechas en una medida.
¿Puedes darme ejemplo con las siguientes fechas?
Evento 1: 06/12/2021
Evento 2: 05/12/2021
Evento 3: 01/01/2021 > 30/11/2021 (Un evento que duró un mes)

Supongamos que tienes una tabla, Eventos, de eventos y fechas como tus ejemplos. A continuación, puede utilizar la columna Eventos[Evento] como segmentación de datos en la página del informe y, en lugar de una fecha codificada, puede escribir

VAR EventDate = SELECTEDVALUE ( Events[Event] )

dentro de la medida que di.

Esto también debería funcionar si desea utilizar Events[Event] en las columnas/filas de un objeto visual de matriz.

Probé esto y creé una nueva tabla con el nombre y las fechas de la campaña, cambié la medida a la nueva, pero todavía no puedo obtener el resultado que me gustaría. Por ahora, digamos que necesito obtener un recuento total de diferentes eventos usando la segmentación de datos y luego otra columna 7 días después que mostraría cuántas de las mismas personas están presentes.

Creé un archivo PBI de muestra y repliqué mis pasos, ¿puedes ver lo que podría estar haciendo mal: https://drive.google.com/drive/folders/1rbiwIWXHzezJzYBged-Rbu0cPjNjhi2K?usp=sharing

No estoy seguro de cómo funciona 7 días después para un evento de varios días.

Sin embargo, he jugado un poco con su archivo. Éalo.

AlexisOlson_0-1638890314084.png

Hola, lo siento por responder tan tarde, me puse ocupado.
Eché un vistazo al archivo PBI y me di cuenta de que probablemente expliqué mal lo que quería. Prácticamente necesito un recuento total distinto de cuántas personas asistieron a un evento. por ejemplo, si en el evento 1 hubo 150 entradas en total y solo 20 de ellas fueron únicas, me gustaría que el resultado fuera:

Total distinto| total distinto 7D más tarde
Evento 1205 (del evento 1)
Total distinto 2050 (en este día)

El '7 días después' para las fechas mutiple puede parecer el último día en esa duración y hacer un +7 en esa fecha.
Este es el archivo PBI con algunos cambios y una tabla con dax horrible para mostrar aproximadamente lo que necesito.
https://drive.google.com/drive/folders/1rbiwIWXHzezJzYBged-Rbu0cPjNjhi2K?usp=sharing


También debo mencionar que el objetivo principal de todo esto es mirar más o menos 1 evento a la vez y mirar la entrega de las personas que asistieron a ese evento a lo largo del tiempo. El "tiempo a lo largo" es simplemente los 7 días después de una medida o 14, etc.

Sí, esto es todo. Gracias por su ayuda, he estado luchando con esto durante tanto tiempo ... Finalmente jaja, gracias!

Syndicate_Admin
Administrator
Administrator

También tengo una tabla de fechas que está vinculada a mi tabla de hechos y está marcada como la tabla de fechas.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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