Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda de error de Formula.Firewall

Hola

Recientemente encontré el error de Formula Firewall por primera vez y no entiendo completamente cómo resolverlo. Y por lo que puedo ver en las publicaciones de la comunidad, parece que muchos tienen el mismo problema. Creé un conjunto de datos de juguetes que genera este error en dos casos diferentes. Puedo resolver el problema en el caso 1 pero no en el caso 2 y espero que la comunidad pueda ayudar aquí.

Ken Puls tiene un tutorial en el que crea una "etapa de datos" moviendo la fuente de datos externa a una consulta adicional. Hago esto en el caso 1 y en el caso 2, pero no funciona en el caso posterior. ¿Cuál es la forma correcta de hacer esto?

Objetivo:

Quiero aplicar un conjunto de pasos de transformación a varios archivos de una carpeta mediante una función personalizada. La carpeta de datos de ejemplo tiene 3 tablas (Good_Luck_Level, Formula_Firewall_Table_r1 (r1), Formula_Firewall_Table_r2 (r2) ) y quiero escribir una función que combine Good_Luck_Level con una de las tablas Formula_Firewall_Table_r* dependiendo del índice que se le dé a la función como entrada.

Los datos se pueden descargar aquí .

La organización de la consulta tiene este aspecto. Cada caso tiene un problema y un grupo de solución o intento. El orden lógico para estas consultas es de arriba hacia abajo.

Screenshot 2022-05-27 at 14.15.42.png

Debe agregar la ruta a la carpeta de datos como parámetro para que funcione.

Screenshot 2022-05-27 at 13.36.20.png

Así es como se ven las tablas (r2 es muy similar a r1 snd no se muestra aquí).

Formula_Firewall_r1Formula_Firewall_r1Good Luck LevelNivel de buena suerte

Como dije, recibo el error formula firewall en 2 ocasiones.

Caso 1

El uso de Table.ExpandColumns me da el error

(idx as number,data_path as text) =>
// idx: index of files in directory 
// data_path: path to files that are to be loaded
let
    Source = Folder.Files(data_path),
    
    #"Filtered Rows" = Table.SelectRows(Source, each Text.Contains([Name], 
    "Formula_Firewall_Table_r") and Text.Contains([Name], "")),
    
    #"Gefilterte Zeilen1" = Table.SelectRows(#"Filtered Rows", each [Date created] = #"Filtered 
    Rows"[Date created]{idx}),
    
    #"Filtered Hidden Files1" = Table.SelectRows(#"Gefilterte Zeilen1", each [Attributes]? 
    [Hidden]? <> true),
    
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File", 
    each #"Transform File"([Content])),
    
    #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", 
    "Source.Name"}),
    
    #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", 
    "Transform File"}),

    // This steps generates an error
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform 
    File", Table.ColumnNames(#"Transform File"(#"Sample File")))

in
    #"Expanded Table Column1"

Puedo resolver el primer problema moviendo Table.ExpandColumns a otra función (expand_table_dyn).

#"Expanded Table Column1" =expand_table_dyn(#"Removed Other Columns1","Transform File")
    

Caso 2

Después de expandir la tabla, quiero unirla con la tabla Good Luck Level.

(idx as number,data_path as text) =>
// idx: index of files in directory 
// data_path: path to files that are to be loaded
let
    Source = Folder.Files(data_path),
    
    #"Filtered Rows" = Table.SelectRows(Source, each Text.Contains([Name], 
    "Formula_Firewall_Table_r") and Text.Contains([Name], "")),
    
    #"Gefilterte Zeilen1" = Table.SelectRows(#"Filtered Rows", each [Date created] = #"Filtered 
    Rows"[Date created]{idx}),
    
    #"Filtered Hidden Files1" = Table.SelectRows(#"Gefilterte Zeilen1", each [Attributes]? 
    [Hidden]? <> true),
    
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File", 
    each #"Transform File"([Content])),
    
    #"Renamed Columns1" = Table.RenameColumns(#"Invoke Custom Function1", {"Name", 
    "Source.Name"}),
    
    #"Removed Other Columns1" = Table.SelectColumns(#"Renamed Columns1", {"Source.Name", 
    "Transform File"}),

    // This steps generates an error
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform 
    File", Table.ColumnNames(#"Transform File"(#"Sample File")))

    #"Merged Queries" = Table.NestedJoin(#"Expanded Table Column1", {"Town"}, #"staging Good 
    Luck Level", {"Town"}, "Good Luck Level", JoinKind.LeftOuter)
in
    #"Merged Queries"

Intento1

Intenté mover Table.NestedJoin a una función separada "merge"

= (t1 as table, merge_on1 as text,t2 as table, merge_on2 as text, name as text) =>
let
    Source =  Table.NestedJoin(t1, {merge_on1}, 2, {merge_on2}, name, JoinKind.LeftOuter)
in
    Source

e Intento2

Mover table.NestedUnirse a una función independiente y guardarla como una tabla nueva

= (t1 as table, merge_on1 as text,t2 as table, merge_on2 as text, name as text) =>
let
    Source =  Table.NestedJoin(t1, merge_on1, t2, merge_on2, name, JoinKind.LeftOuter),
    #"Expanded something" = expand_table_dyn(Source,name),
    out = Table.SelectColumns(#"Expanded something",Table.ColumnNames(#"Expanded something"))
in
    out

Realmente aprecio su ayuda y pensamientos aquí.

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @Myagi-Do ,

Revise los siguientes enlaces que tienen el problema similar al suyo, espere que su solución pueda ayudarlo a resolver el problema.

Error de Formula.Firewall al hacer referencia a consultas

Método 1: Ignorar los niveles de privacidad

yingyinr_0-1653979520568.gif

Método 2: Usar una función


Configuración de privacidad de datos en Power BI/Power Query, parte 3: Error de Formula.Firewall

Formula.Firewall: Consulta hace referencia a otras consultas, por lo que es posible que no acceda di...


Sí, pude evitarlo hace un momento moviendo efectivamente todos los pasos de la otra consulta a la misma consulta. Esto soluciona el problema, pero es un poco molesto.


Saludos

Hola Rena,

gracias por su respuesta. Lamentablemente, el Método 1 no es una opción para mí y el Método 2 es lo que probé y con lo que estoy luchando. Es por eso que creé un ejemplo de juguete que se puede encontrar aquí https://wetransfer.com/downloads/59020a9bfec7c8703f588f6540f9d3b520220527121004/fecfc0 .

¿Alguna sugerencia sobre cómo solucionar esto?

Todo lo mejor,

Myagi-Do

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.