Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by attending the DP-600 session on April 23rd (pacific time), live or on-demand.
Learn moreNext up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now
Hola miembros de la comunidad,
Quiero implementar una solución en la que mi objetivo sea lograr una selección dinámica de columnas basada en la selección del Cuadro 2. Por ejemplo, la tabla 3 debe mostrar valores para Región cuando se selecciona la región en el filtro anterior:
Tabla 3 - SELECTCOLUMNS('Tabla 1', "Dim", IF(SELECTEDVALUE('Tabla 2'[Selección de dimensión])'"Región",'Tabla 1'[Región],"No hay valor seleccionado"))
Sin embargo, Parece que la parte falsa en la condición if siempre funciona, pero no la parte verdadera. La dimensión seleccionada es "Región" y la tabla evalúa la parte falsa, pero no la parte True de la condición if.
Tabla 1:
Sector de la Región de Competencia de Los Empleados
Comp 1 | Región 1 | Sector1 |
Comp 2 | Región 2 | Sector 2 |
Comp 3 | Región 3 | Sector 3 |
Comp 4 | Región 4 | Sector 4 |
Comp 5 | Región 5 | Sector 5 |
Cuadro 2:
Selección de cota Dim_ID
Competencia de los empleados | 1 |
Región | 2 |
Sector | 3 |
Tengo un filtro en mi informe de la tabla 2 con la columna "Selección de dimensión".
Mi tabla 3 debe mostrar la única 1 una columna basada en la selección del filtro de la tabla 2.
Estoy tratando de lograr esto a través de "Tabla 3 - SELECTCOLUMNS('Tabla 1', "Dim", IF(SELECTEDVALUE('Tabla 2'[Dimensión Seleccionar])"Región",'Tabla 1'[Región],"No hay valor seleccionado"))" combinación DAX sin embargo de alguna manera no está funcionando.
Por favor, ayúdeme.
Hola
Según su descripción, creo que no se puede generar la tabla dinámicamente seleccionando segmentación de datos, pero tengo una solución alternativa:
Por favor, siga estos pasos:
1)Agregue una columna de índice a la Tabla 1 en el Editor de consultas.
2)Pruebe esta medida:
Measure =
SWITCH (
SELECTEDVALUE ( 'Table 2'[Dimension Select ] ),
"Sector", MAX ( 'Table 1'[Sector] ),
"Region", MAX ( 'Table 1'[Region] ),
"Employee Competency", MAX ( 'Table 1'[Employee Competency] )
)3)Elija [Índice] de la tabla 1, [Selección de dimensión] de la tabla 2 y esta medida como un objeto visual de matriz:
4)Desactive 'Word Wrap' en los encabezados Format/Column y Format/Row:
5)Cuando selecciona un valor en la segmentación de datos, se muestra:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto Zhi
Muchas gracias. Funciona según lo esperado. Agregar el índice resolvió el problema. 🙂
Hola darlove,
Gracias por compartir el archivo. Desafortunadamente no puedo abrir un archivo PBIX. Me encantaría ver tu solución también. Estoy recibiendo el siguiente error mencionado al abrir el archivo.
"Referencia de objeto no establecida en una instancia de un objeto"
Tipo de comentario:
Frown (Error)
Mensaje de error:
Referencia de objeto no establecida en una instancia de un objeto.
Rastreo de pila:
en Microsoft.Mashup.Host.Document.PackageValidationResult.Merge(PackageValidationResult original, PackageValidationResult content)
en Microsoft.PowerBI.Client.Windows.Services.ReportFactory.CreateReportFromPowerBIPackage(IPowerBIPackage powerBIPackage, String pbixFilePath, Byte[] securityBindings, Boolean requiresConversionToReportLayout, Opciones PowerBIPackageOpenOptions, IPowerBITelemetryService powerBITelemetryService, IAnalysisServicesService analysisServices, Version pbixFileVersion, PackageValidationResult& mashupValidationResult)
en Microsoft.PowerBI.Client.Windows.Services.PowerBIPackagingService.Open(FileStream fileStream, IPowerBIWindowService windowService, Nullable'1 entryPoint, PowerBIPackageOpenOptions options, ReportPreparerResult& prepareResult)
en Microsoft.PowerBI.Client.Windows.Services.FileManager.<LoadFromPbix>d__20.MoveNext()
--- Fin del seguimiento de pila de la ubicación anterior donde se produce la excepción ---
en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
en System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
en Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.<>c__DisplayClass15_0'1.<<BlockUIAndRun>b__0>d.MoveNext()
--- Fin del seguimiento de pila de la ubicación anterior donde se produce la excepción ---
en System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
en Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.WaitOnUIThreadForTaskCompletion(Tarea)
en Microsoft.PowerBI.Client.Windows.Services.UIBlockingService.BlockUIAndRun[T](Func'1 asyncMethod)
en Microsoft.PowerBI.Client.Windows.Services.FileManager.OpenFile(IPowerBIWindowService windowService, IPbixFile fileToOpen, Nullable'1 entryPoint)
en Microsoft.PowerBI.Client.Program.TryOpenOrCreateReport(IUIHost uiHost, ISplashScreen splashScreen, IFileManager fileManager, IFileHistoryManager fileHistoryManager, String filePath, FileType fileType)
en Microsoft.PowerBI.Client.Program.<>c__DisplayClass2_0.<Main>b__1()
en Microsoft.PowerBI.Client.Windows.IExceptionHandlerExtensions.<>c__DisplayClass3_0.<HandleExceptionsWithNestedTasks>b__0()
en Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
Mensaje de seguimiento de pila:
Referencia de objeto no establecida en una instancia de un objeto.
Seguimiento de pila de invocación:
en Microsoft.Mashup.Host.Document.ExceptionExtensions.GetCurrentInvocationStackTrace()
en Microsoft.Mashup.Client.UI.Shared.StackTraceInfo.. ctor(String exceptionStackTrace, String invocationStackTrace, String exceptionMessage)
en Microsoft.PowerBI.Client.Windows.Telemetry.PowerBIUserFeedbackServices.GetStackTraceInfo(Exception e)
en Microsoft.PowerBI.Client.Windows.Telemetry.PowerBIUserFeedbackServices.ReportException(IWindowHandle activeWindow, IUIHost uiHost, FeedbackPackageInfo feedbackPackageInfo, Exception e, Boolean useGDICapture)
en Microsoft.Mashup.Client.UI.Shared.UnexpectedExceptionHandler.<>c__DisplayClass14_0.<HandleException>b__0()
en Microsoft.Mashup.Client.UI.Shared.UnexpectedExceptionHandler.HandleException(Exception e)
en Microsoft.Mashup.Host.Document.ExceptionHandlerExtensions.HandleExceptions(IExceptionHandler exceptionHandler, Action action)
en Microsoft.PowerBI.Client.Program.Main(String[] args)
Gracias.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
Experience the highlights from FabCon & SQLCon, available live and on-demand starting April 14th.