AAAAOps
Hola a todos,
Somos completamente nuevos en Power BI e intentamos integrarnos con Dynamics 365 Data. Hemos tenido cierto éxito, pero nos estamos topando con un obstáculo muy confuso.
He importado datos de Cuentas y Oportunidades
He creado un conjunto de opciones de relación y he podido fusionar, expandir y cambiar el nombre. funciona muy bien, hasta que tratamos de agregar un segundo conjunto de opciones «CustomerHealthOptionSet» y arroja el siguiente error;
Expresión.Error: No podemos convertir un valor de tipo Tabla a tipo Lista.
Detalles:
Valor=Tabla
Tipo=Tipo
Las dos consultas para ambos conjuntos de opciones son casi idénticas, excepto por datos diferentes.
Vea la imagen a continuación para ver ejemplos de las dos tablas de conjuntos de opciones;
Aquí está el código fuente que estamos usando para vincular esto a «Cuenta»
let Source = OData.Feed("https://xxxxxxxxxx.api.crm4.dynamics.com/api/data/v8.2/"), accounts_table = Source{[Name="accounts",Signature="table"]}[Data], #"Removed Other Columns" = Table.SelectColumns(accounts_table,{"address1_country", "_new_subcategory_value", "address1_stateorprovince", "aaaa_customerhealthstatus", "_new_category_value", "customertypecode", "statuscode", "territorycode", "aaaa_account_aaaa_customerhealthscore", "aaaa_account_aaaa_customerhealth", "aaaa_account_aaaa_customerhealthscore_Customer", "aaaa_account_aaaa_customerhealthscore_MAT", "new_category", "new_subcategory"}), #"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([aaaa_customerhealthstatus] <> null)), #"Merged Relationship" = Table.NestedJoin(#"Filtered Rows",{"customertypecode"},RelationshipOptionSet,{"Value"},"NewColumn.1",JoinKind.LeftOuter), #"Merged Customer Health" = Table.NestedJoin(#"Removed Other Columns",{"aaaa_customerhealthstatus"},CustomerHealthOptionSet,{"Value"},"NewColumn.2",JoinKind.LeftOuter), #"Expanded Relationship" = Table.ExpandTableColumn(#"Merged Relationship", "NewColumn.1", {"Option"}, {"NewColumn.1.Option"}), #"Expanded Customer Health" = Table.ExpandTableColumn(#"Merged Customer Health", "NewColumn.2", {"Option"}, {"NewColumn.2.Option"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded Relationship", #"Expanded Customer Health",{ {"NewColumn.1.Option","Relationship"}, {"NewColumn.2.Option","Customer Health"} }) in #"Renamed Columns"
Marcel Beug
En respuesta a AAAAOps
Al menos ahora sé la causa del error.
En el paso de cambio de nombre, proporcione un nombre de tabla, #»Salud ampliada del cliente», como segundo parámetro para la función Table.RenameColumns, mientras que el segundo parámetro debe ser la lista con cambios de nombre (que proporcionó como tercer parámetro).
Tenga en cuenta que la consulta solo creará 1 tabla, por lo que si fusiona sus cuentas con el conjunto de opciones de relación y el conjunto de opciones de salud del cliente, obtendrá 1 tabla que incluye el producto cartesiano de las tablas anidadas.
Ejemplo:
si, para 1 cuenta, tiene 3 filas en RelationshipOptionSet y 4 registros en CustomerHealthOptionSet, terminará con 3 x 4 = 12 filas para esa cuenta, después de expandir las tablas anidadas.
Posiblemente eso no es lo que quieres y deberías crear 2 consultas:
1 consulta para fusionar cuentas con RelationshipOptionSet y
1 consulta para fusionar cuentas con CustomerHealthOptionSet.
Si aún desea 1 consulta en la que fusiona Cuentas con ambas tablas, entonces la consulta debería verse así (si no cometí ningún error, obviamente no puedo probar):
let Source = OData.Feed("https://xxxxxxxxxx.api.crm4.dynamics.com/api/data/v8.2/"), accounts_table = Source{[Name="accounts",Signature="table"]}[Data], #"Removed Other Columns" = Table.SelectColumns(accounts_table,{"address1_country", "_new_subcategory_value", "address1_stateorprovince", "aaaa_customerhealthstatus", "_new_category_value", "customertypecode", "statuscode", "territorycode", "aaaa_account_aaaa_customerhealthscore", "aaaa_account_aaaa_customerhealth", "aaaa_account_aaaa_customerhealthscore_Customer", "aaaa_account_aaaa_customerhealthscore_MAT", "new_category", "new_subcategory"}), #"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([aaaa_customerhealthstatus] <> null)), #"Merged Relationship" = Table.NestedJoin(#"Filtered Rows",{"customertypecode"},RelationshipOptionSet,{"Value"},"NewColumn.1",JoinKind.LeftOuter), #"Merged Customer Health" = Table.NestedJoin(#"Merged Relationship",{"aaaa_customerhealthstatus"},CustomerHealthOptionSet,{"Value"},"NewColumn.2",JoinKind.LeftOuter), #"Expanded Relationship" = Table.ExpandTableColumn(#"Merged Customer Health", "NewColumn.1", {"Option"}, {"NewColumn.1.Option"}), #"Expanded Customer Health" = Table.ExpandTableColumn(#"Expanded Relationship", "NewColumn.2", {"Option"}, {"NewColumn.2.Option"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded Customer Health",{ {"NewColumn.1.Option","Relationship"}, {"NewColumn.2.Option","Customer Health"} }) in #"Renamed Columns"
Tenga en cuenta que ahora cada paso continúa con el paso anterior, por ejemplo, el paso #»Salud del cliente combinado» ahora continúa con #»Relación combinada» en lugar de con #»Otras columnas eliminadas» en su código. Etcétera.
saurabhsharma19
Hola
Necesito ayuda rápida por favor como nuevo aquí. Estoy recibiendo un error similar.
Aprendiendo a replicar como en https://www.youtube.com/watch?v=STjBoS1rQuQ&list=LL&index=11&t=311s
Por favor redirija a un tutorial si hay alguno.
Llegó a la mitad del camino para crear fx en pbi:
= (URL) como tabla =>
dejar
Fuente = Web.Página(Web.Contenido([URL]))
en
#»fxPelículas»
y
dejar
Fuente = Excel.Workbook(File.Contents(«C:Usersssh130OneDrivepbilinked.xlsx»), null, true),
Hoja1_Hoja = Fuente{[Item=»Sheet1″,Kind=»Sheet»]}[Data],
#»Tipo cambiado» = Table.TransformColumnTypes(Sheet1_Sheet,{{«Column1», tipo de texto}}),
#»Columnas renombradas» = Table.RenameColumns(#»Tipo cambiado»,{{«Columna1», «URL»}}),
#»Personalizado agregado» = Table.AddColumn(#»Columnas renombradas», «1», cada fxMovies([URL])),
#»1″ = #»Personalizado añadido»{0}[1]
en
#»1″
Marcel Beug
Siempre es bueno mencionar en qué paso se produce el error (primero), de lo contrario tenemos que analizar toda la consulta.
en realidad no lo hago saber de dónde proviene este problema en particular, pero noto que no siempre se refiere al paso anterior y yo sospechar eso causaría el problema.
AAAAOps
En respuesta a Marcel Beug
Todo parece estar bien hasta que intentamos cambiar el nombre de las columnas. Si elimino el estado del cliente #expandido y la nueva columna.2.opción, entonces no obtengo ningún error pero tampoco obtengo ningún resultado.
#"Renamed Columns" = Table.RenameColumns(#"Expanded Relationship", #"Expanded Customer Health",{ {"NewColumn.1.Option","Relationship"}, {"NewColumn.2.Option","Customer Health"} })
let Source = OData.Feed("https://xxxxxxxxxx.api.crm4.dynamics.com/api/data/v8.2/"), accounts_table = Source{[Name="accounts",Signature="table"]}[Data], #"Removed Other Columns" = Table.SelectColumns(accounts_table,{"address1_country", "_new_subcategory_value", "address1_stateorprovince", "aaaa_customerhealthstatus", "_new_category_value", "customertypecode", "statuscode", "territorycode", "aaaa_account_aaaa_customerhealthscore", "aaaa_account_aaaa_customerhealth", "aaaa_account_aaaa_customerhealthscore_Customer", "aaaa_account_aaaa_customerhealthscore_MAT", "new_category", "new_subcategory"}), #"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([aaaa_customerhealthstatus] <> null)), #"Merged Relationship" = Table.NestedJoin(#"Filtered Rows",{"customertypecode"},RelationshipOptionSet,{"Value"},"NewColumn.1",JoinKind.LeftOuter), #"Merged Customer Health" = Table.NestedJoin(#"Removed Other Columns",{"aaaa_customerhealthstatus"},CustomerHealthOptionSet,{"Value"},"NewColumn.2",JoinKind.LeftOuter), #"Expanded Relationship" = Table.ExpandTableColumn(#"Merged Relationship", "NewColumn.1", {"Option"}, {"NewColumn.1.Option"}), #"Expanded Customer Health" = Table.ExpandTableColumn(#"Merged Customer Health", "NewColumn.2", {"Option"}, {"NewColumn.2.Option"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded Relationship", #"Expanded Customer Health",{ {"NewColumn.1.Option","Relationship"}, {"NewColumn.2.Option","Customer Health"} }) in #"Renamed Columns"
¿Podría explicar con más detalle cómo hacer referencia al paso anterior en el siguiente paso, ya que todo parece estar bien hasta que tratamos de cambiar el nombre de las columnas, ya que solo puede #cambiar el nombre de las columnas una vez por consulta, asumí que necesitaba combinarlas en una sola llamada?
Gracias por la rápida respuesta.
Marcel Beug
En respuesta a AAAAOps
Al menos ahora sé la causa del error.
En el paso de cambio de nombre, proporcione un nombre de tabla, #»Salud ampliada del cliente», como segundo parámetro para la función Table.RenameColumns, mientras que el segundo parámetro debe ser la lista con cambios de nombre (que proporcionó como tercer parámetro).
Tenga en cuenta que la consulta solo creará 1 tabla, por lo que si fusiona sus cuentas con el conjunto de opciones de relación y el conjunto de opciones de salud del cliente, obtendrá 1 tabla que incluye el producto cartesiano de las tablas anidadas.
Ejemplo:
si, para 1 cuenta, tiene 3 filas en RelationshipOptionSet y 4 registros en CustomerHealthOptionSet, terminará con 3 x 4 = 12 filas para esa cuenta, después de expandir las tablas anidadas.
Posiblemente eso no es lo que quieres y deberías crear 2 consultas:
1 consulta para fusionar cuentas con RelationshipOptionSet y
1 consulta para fusionar cuentas con CustomerHealthOptionSet.
Si aún desea 1 consulta en la que fusiona Cuentas con ambas tablas, entonces la consulta debería verse así (si no cometí ningún error, obviamente no puedo probar):
let Source = OData.Feed("https://xxxxxxxxxx.api.crm4.dynamics.com/api/data/v8.2/"), accounts_table = Source{[Name="accounts",Signature="table"]}[Data], #"Removed Other Columns" = Table.SelectColumns(accounts_table,{"address1_country", "_new_subcategory_value", "address1_stateorprovince", "aaaa_customerhealthstatus", "_new_category_value", "customertypecode", "statuscode", "territorycode", "aaaa_account_aaaa_customerhealthscore", "aaaa_account_aaaa_customerhealth", "aaaa_account_aaaa_customerhealthscore_Customer", "aaaa_account_aaaa_customerhealthscore_MAT", "new_category", "new_subcategory"}), #"Filtered Rows" = Table.SelectRows(#"Removed Other Columns", each ([aaaa_customerhealthstatus] <> null)), #"Merged Relationship" = Table.NestedJoin(#"Filtered Rows",{"customertypecode"},RelationshipOptionSet,{"Value"},"NewColumn.1",JoinKind.LeftOuter), #"Merged Customer Health" = Table.NestedJoin(#"Merged Relationship",{"aaaa_customerhealthstatus"},CustomerHealthOptionSet,{"Value"},"NewColumn.2",JoinKind.LeftOuter), #"Expanded Relationship" = Table.ExpandTableColumn(#"Merged Customer Health", "NewColumn.1", {"Option"}, {"NewColumn.1.Option"}), #"Expanded Customer Health" = Table.ExpandTableColumn(#"Expanded Relationship", "NewColumn.2", {"Option"}, {"NewColumn.2.Option"}), #"Renamed Columns" = Table.RenameColumns(#"Expanded Customer Health",{ {"NewColumn.1.Option","Relationship"}, {"NewColumn.2.Option","Customer Health"} }) in #"Renamed Columns"
Tenga en cuenta que ahora cada paso continúa con el paso anterior, por ejemplo, el paso #»Salud del cliente combinado» ahora continúa con #»Relación combinada» en lugar de con #»Otras columnas eliminadas» en su código. Etcétera.
AAAAOps
En respuesta a Marcel Beug
Gracias por esto, gran respuesta y funcionó incluso sin la prueba. Esto también ha desarrollado mi comprensión.