Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Estoy trabajando en Power BI.
Tengo una tabla fact.orders con OrderID | Fecha de envío | Fecha de pago | IsNewPayment | IsNewShipment
También tengo una tabla de calendario con relaciones inactivas con ShipmentDate y PaymentDate.
Tengo un grupo de cálculo para cambiar entre usar la fecha de envío o la fecha de pago.
Ahora necesito crear algo de lógica para que cuando el calculationgrouphaya elegido PaymentDate, el campo categórico usado en un objeto visual para IsNew también use Payment date.
Básicamente, quiero "categoría" de IsNew para cambiar de IsNew Payment a IsNew Shipment cuando el grupo de cálculo se intercambia en la relación para el tipo de fecha de cálculo.
Intenté con parámetros de campo, pero no pude encontrar una manera de hacer que funcionara, incluso cuando agregué lógica como FILTER y ALL al grupo de cálculo.
¿Alguna sugerencia?
Enlace al conjunto de datos de muestra: https://drive.google.com/file/d/1l3NBi8fhiWAFxExF0D_nqyrFD6AfBFUa/view?usp=drive_link
https://drive.google.com/file/d/1l3NBi8fhiWAFxExF0D_nqyrFD6AfBFUa/view?usp=drive_link
Supongo que no estaba muy claro ya que no podías abrir el modelo.
IsNuevo pago/envío son campos categóricos, contienen valores de texto como (Nuevo, Devuelto, Reactivado).
Quiero usarlo como un campo cateógico dentro, por ejemplo, de una matriz visual en una fila baja. Por lo tanto, no puede ser una medida, tiene que ser una dimensión. Es por eso que estaba probando con parámetros de campo
@v-yohua-msft en caso de que no hayas visto mi respuesta, ya que parece que no estaba vinculada a ti 🙂
Hola, @AlexaderMilland
Lamento haberte restaurado tan tarde. Después de mis intentos, parece que usando el grupo de cálculo no se pueden lograr los resultados que desea, y también es posible que mi conocimiento sea demasiado superficial. He intentado usar una columna calculada para determinar el contenido de la segmentación de datos seleccionada, pero la columna calculada no puede leer el valor de la segmentación y no puedo colocarla en la fila de la matriz mediante una medida.
Si desea utilizar parámetros, solo necesita crear un parámetro, marcar PaymentDate y ShipmentDate.
A continuación, coloque la columna de parámetros creada en la fila de la vista de matriz.
Al seleccionar la segmentación, el martix cambiará:
Cómo obtener respuestas rápidas a tu pregunta
Saludos
Yongkang Hua
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Idealmente, lo que estoy buscando es una solución que con solo 1 clic
1) permite al grupo de cálculo intercambiar la relación entre la tabla de calendario y la tabla de hechos
2) intercambia el campo caterógico dentro del objeto visual de IsNew Payment a IsNew Shipment, probablemente mediante el uso de un parámetro de campo.
¿Podría publicar el archivo PBIX ya que parece que omitió algunos pasos?
La foto con los parámetros de campo se basa en el campo de fecha, mientras que la segmentación de la última foto se basa en la categoría IsNew?
Hola, @AlexaderMilland
Lo siento, no puedo abrir el enlace de su archivo de muestra, creé los datos de muestra:
Tabla de pedidos
Tabla de calendario
Relación
Crear grupo calculado:
A continuación, coloque este grupo en la vista de segmentación y cree una nueva medida, pruebe el siguiente DAX:
IsNewDynamic =
SWITCH(
SELECTEDVALUE('Calculation group'[Calculation group column]),
"ShipmentDate", CALCULATE(SUM('Orders'[IsNewShipment]), USERELATIONSHIP('Calendar'[Date], 'Orders'[ShipmentDate])),
"PaymentDate", CALCULATE(SUM('Orders'[IsNewPayment]), USERELATIONSHIP('Calendar'[Date], 'Orders'[PaymentDate]))
)
Ponga esta medida en visual. Cuando haces clic en la cortadora, la fecha se cambia, aquí está mi vista previa:
Cómo obtener respuestas rápidas a tu pregunta
Saludos
Yongkang Hua
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
@v-yohua-msft ¡Esto es exactamente lo que estaba tratando de sugerir! ¡Bien hecho!
¿La solución anterior no funciona?