Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Modelo de columnas calculadas

Hola

Tengo un modelo que actualmente está en Excel y deseo importarlo en power bi dado su mucho más fácil de analizar.

Lo que busco es tener 3 tablas - Tabla de reglas -> Tabla 1 , Tabla de datos de origen -> Tabla 3 y mi tabla Cálculos -> Tabla 2.

Lo que busco en obtener datos de los datos de origen y los datos de reglas basados de acuerdo con el nombre de usuario único, así que supongo que esto debe hacerse usando columnas calculadas. Para facilitar la referencia puse una captura de pantalla de las tablas que menciono anteriormente.

¿Podría ayudarme, ya que soy relativamente nuevo en Power BI.

lucasaliba04_0-1598703164253.png

4 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Icon for Community Champion rankCommunity Champion

    @lucasaliba04- Me parece que debe usar una consulta Merge para combinar las tablas 2 y la tabla 3. A continuación, puede crear una columna calculada para el descuento de precio total.

    Si desea mantenerlos separados, podría formar una relación entre las dos tablas. A continuación, puede colocar Nombre de usuario de una de las tablas en una visualización de tabla y, a continuación, poner Descuento y Ventas en esa misma visualización y crear una medida como:

    Measure = MAX('Table1'[Discount]) * MAX('Table3'[Sales])

    y poner eso en su visualización.

    Si desea que se cree una tabla 2 real en el modelo de datos a través de DAX, también podría hacerlo. Utilizando NATURALINNERJOIN o ADDCOLUMNS, etc.

    No es realmente suficiente información para seguir adelante, por favor primero compruebe si su problema es un problema común enumerado aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882

    Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

    Las partes más importantes son:
    1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
    2. Salida esperada de los datos de muestra
    3. Explicación en palabras de cómo obtener de 1. a 2.

  • FrankAT's avatar
    FrankAT
    Icon for Community Champion rankCommunity Champion

    Hola @lucasaliba04

    puedes hacerlo muy fácil con Power Query de la siguiente manera:

    // RulesTable
    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Xc65CcAwEATAXg6cKbjVr9BuQ6j/NrRgsBeFk82cdj/usGDwy1Z4HekoTnQSZzqLC13Ela7iRjdxp7t40OM3nBYePRw9fL21AQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Username = _t, #" Discount" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Username", type text}, {" Discount", Percentage.Type}})
    in
        #"Changed Type"
    
    // SourceTable
    let
        Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("Xc0xDsAgDEPRu2RmiBOg7dheA3H/a5CqUmUy+g3+Y8j9qEKKNFWVWT6wgM7gAZWhBjjtFtto99hoBMf7wHDm6JWi0BQF9ihsj8L/y7kA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Username = _t, #" Sales" = _t]),
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"Username", type text}, {" Sales", Int64.Type}})
    in
        #"Changed Type"
    
    // CalculationTabel
    let
        Source = Table.NestedJoin(RulesTable, {"Username"}, SourceTable, {"Username"}, "Calculation Table", JoinKind.LeftOuter),
        #"Expanded Calculation Table" = Table.ExpandTableColumn(Source, "Calculation Table", {" Sales"}, {" Sales"}),
        #"Added Custom" = Table.AddColumn(#"Expanded Calculation Table", "Sale post Discount", each [#" Sales"] - [#" Sales"] * [#" Discount"], type number)
    in
        #"Added Custom"

    30-08-_2020_00-00-31.png

    Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
    FrankAT (Orgulloso de ser un Datanaut)

    • Anonymous's avatar
      Anonymous
      Not applicable

      ¿Podrías llevarme a través de lo que hiciste con pls de consulta de poder?