StéphaneA
Hola
Necesito conectar mi informe a un Olap Cube, por lo que uso el conector «Analysis Services» y funciona bien, pero desafortunadamente quiero filtrar mis datos antes de cargarlos en Power BI.
Mi conjunto de datos contiene más de 16 millones de filas y solo necesito 1 millón 😉
En la vista de navegación del cubo, solo puedo agregar Dimensión o Medida y no tengo ninguna propuesta de filtro
Así que trato de usar Cube.ApplyParameter en el editor avanzado, pero parece que no estoy lo suficientemente avanzado.
Esta primera prueba:
let
Source = AnalysisServices.Databases("xxxxxxxxxxZ2347PROD14", [TypedMeasureColumns=true, Implementation="2.0"]),
ISI_2_1 = Source{[Name="ISI_2_1"]}[Data],
TimeTracking_tech = ISI_2_1{[Id="TimeTracking_tech"]}[Data],
#"Time Tracking1" = TimeTracking_tech{[Id="Time Tracking"]}[Data],
#"Éléments ajoutés" = Cube.Transform(#"Time Tracking1",
{
{Cube.AddAndExpandDimensionColumn, "[Members]", {"[Members].[MEM member].[MEM member]", "[Members].[MEM Organization].[MEM Organization]"}, {"Members.MEM member", "Members.MEM Organization"}},
{Cube.ApplyParameter("[Members].[MEM Organization].[MEM Organization]",{"Digital Front End - DT"})}
}),
#"Lignes filtrées1" = Table.SelectRows(#"Éléments ajoutés", each (Cube.AttributeMemberId([Members.MEM Organization]) = "[Members].[MEM Organization].&[73847]" meta [DisplayName = "Digital Front End - DT"]))
in
#"Lignes filtrées1"
plantear este error:
Expression.Error: Désolé … Nous n’avons pas pu convertir la valeur «[Members].[MEM Organ…» en type Table.
Détails :
Value=[Members].[MEM Organization].[MEM Organization]
Tipo =[Type]
y esta otra prueba:
let
Source = AnalysisServices.Databases("xxxxxxxxxxZ2347PROD14", [TypedMeasureColumns=true, Implementation="2.0"]),
ISI_2_1 = Source{[Name="ISI_2_1"]}[Data],
TimeTracking_tech = ISI_2_1{[Id="TimeTracking_tech"]}[Data],
#"Time Tracking1" = TimeTracking_tech{[Id="Time Tracking"]}[Data],
Test = Cube.ApplyParameter(#"Time Tracking1","[Members].[MEM Organization].[MEM Organization]",{"Digital Front End - DT"}),
#"Éléments ajoutés" = Cube.Transform(Test,
{
{Cube.AddAndExpandDimensionColumn, "[Members]", {"[Members].[MEM member].[MEM member]", "[Members].[MEM Organization].[MEM Organization]"}, {"Members.MEM member", "Members.MEM Organization"}}
}),
#"Lignes filtrées1" = Table.SelectRows(#"Éléments ajoutés", each (Cube.AttributeMemberId([Members.MEM Organization]) = "[Members].[MEM Organization].&[73847]" meta [DisplayName = "Digital Front End - DT"]))
in
#"Lignes filtrées1"
plantear este otro error:
Expression.Error: La clé ne correspondait à aucune ligne dans la table.
Detalles :
Clave =
Id =[Members].[MEM Organization].[MEM Organization]
Tabla =[Table]
Si alguien tiene una idea, será muy útil. 😉
nb: no puedo usar la conexión directa porque necesito usar otros datos externos 😉
Kevin23
Hola Stephane,
Tengo el mismo problema.
¿Encontraste la solución?
Kevin
StéphaneA
En respuesta a Kevin23
Hola Kevin,
Sí, encontré la solución personalizando la consulta MDX
Es un poco delicado porque la sintaxis no se parece a SQL pero funciona bien
Kevin23
En respuesta a StéphaneA
Gracias Stephane,
Quiero hacerlo directamente desde Power BI a Google Analytics. Así que voy a buscar algo en Power Query, directamente a GA.
Kevin
lbendlin
Cuando se conecta a Analysis Services, puede especificar una consulta MDX personalizada. Úselo para su filtrado.
StéphaneA
En respuesta a lbendlin
Buena idea, pero si quiero usar la solicitud MDX, necesito definir la base de datos y, lamentablemente, no pude hacerlo.
En realidad, en el lado del navegador tengo esa vista:
Intento la siguiente configuración:
- ISI_2_1
- [ISI_2_1]
- ISI_2_1.TimeTracking_tech
- [ISI_2_1].[TimeTracking_tech]
- ISI_2_1.TimeTracking_tech.Time Tracking
- [ISI_2_1].[TimeTracking_tech].[Time Tracking]
Pero cada vez recibí el mismo error: «O el usuario xxx no tiene acceso a la base de datos xxxxx o la base de datos no existe».