Forum Discussion
RLS y USERELATIONSHIP
Hola a todos.
Tengo esta relación entre dos tablas:
Creé esas medidas:
Funciona perfecto, pero cuando implemento el rol RLS obtengo este error:
Entiendo que sucedió porque estoy filtrando mi Dim Table pero no sé cómo solucionarlo, sé que puedo dividir la tabla principal en dos tablas, pero tal vez alguien tenga una mejor idea.
Gracias.
¡Gracias!
fórmula =DÓNDE Lista de ID =CALCULABLETABLE (VALORES ( 'DWH Dim_Neighborhoods'[ID de barrio] ),TODO ( 'DWH Dim_Neighborhoods'[NeighberhoodNameENG] ))DEVOLUCIÓNCALCULAR (SUMA ( 'DWH Fact_ImigrationInCity'[Cantidad] ),FILTRO (TODOSEXCEPTO( 'DWH Fact_ImigrationInCity','DWH Dim_Date'),'DWH Fact_ImigrationInCity'[NeigheberhoodTargetID] EN Lista de ID))Hice algunos cambios y ahora funciona, ¡¡Gracias de nuevo!!
6 Replies
- Syndicate_AdminAdministrator
Tal vez pueda intentar extraer el valor de otra tabla y aplicarlo manualmente en los cálculos de expresión en lugar de usar funciones de relación. No deben afectar a los usos de RLS.
Saludos
Xiaoxin Sheng
- Syndicate_AdminAdministrator
Gracias por su arrullo.
Probé este código DAX:
#test = CALCULATE( sum('DWH Fact_ImigrationInCity'[Cantidad]), FILTER( 'DWH Fact_ImigrationInCity', 'DWH Fact_ImigrationInCity'[NeigheberhoodTargetID] = CALCULATE( MAX('DWH Dim_Neighborhoods'[NeighborhoodID]), 'DWH Dim_Neighborhoods'[NeighberhoodNameHEB] = SELECTEDVALUE('DWH Dim_Neighborhoods'[NeighberhoodNameHEB])) ),ALL('DWH Fact_ImigrationInCity') )
¿Eso es lo que quieres decir?
A mí no me funciona. - Syndicate_AdminAdministrator
Es decir, puede extraer la lista de elementos correspondiente de la tabla de destino sin una relación de hechos activa. A continuación, puede usar esta lista como condición en la expresión de Dax para filtrar los registros de cálculo.
formula = VAR IDlist = CALCULATETABLE ( VALUES ( 'DWH Dim_Neighborhoods'[NeighborhoodID] ), ALLSELECTED ( 'DWH Dim_Neighborhoods' ), VALUES ( 'DWH Dim_Neighborhoods'[NeighberhoodNameHEB] ) ) RETURN CALCULATE ( SUM ( 'DWH Fact_ImigrationInCity'[Quantity] ), FILTER ( ALLSELECTED ( 'DWH Fact_ImigrationInCity' ), 'DWH Fact_ImigrationInCity'[NeigheberhoodTargetID] IN IDlist ) )Saludos
Xiaoxin Sheng
- Syndicate_AdminAdministrator
Realmente lo aprecio, gracias.
Funciona bien, pero corto mi gráfico también con la tabla de fechas, ¿qué debo agregar a la fórmula con la que funcionará también para cortar el gráfico por años?
Este es el nombre de la columna de la tabla de fechas:
'DWH Dim_Date'[Año] - Syndicate_AdminAdministrator
¡Gracias!
fórmula =DÓNDE Lista de ID =CALCULABLETABLE (VALORES ( 'DWH Dim_Neighborhoods'[ID de barrio] ),TODO ( 'DWH Dim_Neighborhoods'[NeighberhoodNameENG] ))DEVOLUCIÓNCALCULAR (SUMA ( 'DWH Fact_ImigrationInCity'[Cantidad] ),FILTRO (TODOSEXCEPTO( 'DWH Fact_ImigrationInCity','DWH Dim_Date'),'DWH Fact_ImigrationInCity'[NeigheberhoodTargetID] EN Lista de ID))Hice algunos cambios y ahora funciona, ¡¡Gracias de nuevo!! - Syndicate_AdminAdministrator
Aquí se puede encontrar una solución alternativa.
https://www.villezekeviking.com/alternative-to-userelationship/