Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
(Si esto se elimina de nuevo, ¿alguien puede enviarme un mensaje por qué? ¿Enlaces externos? ¿Demasiadas ediciones?)
Tengo una columna de datos que contiene 2 decimales por valor:
Software | Major.Minor.Build |
Soft1 | 23.45.6780 |
Soft2 | 1.2.56441 |
Soft3 | 12.3.8210 |
Soft4 | 1.0.0000 |
Dado que hay 2 decimales por valor, no puedo ejecutar la lógica DAX en ellos como si fueran números (que están limitados a 1 decimal). Por lo tanto, tuve la idea de separar cada parte de los valores de 2 decimales en subcadenas.
Por ejemplo, 23.455.6780 se separaría en 3 subcadenas/variables:
Orig "23.455.6780"
Mayor "23"
Menor á "455"
Construir á "6780"
Entonces, me gustaría asegurarme de que cada uno de esos números sea lo suficientemente alto.
Código Psuedo de una nueva columna que devuelve "Good!" o "Bad" dependiendo de si el número de versión del software cumple:
SoftwareCompliance á VAR Orig - SELECTEDVALUE('Paquetes de software'[Major.Minor.Build]) // Ex. "23.455.6780" <--La cantidad de números entre cada decimal puede cambiar VAR Major á "23" //I necesita extraer esto de 'O mediante programación VAR Minor á "455" //I necesita extraer esto de 'Orig' mediante programación VAR Build á "6780" //I necesita extraer esto de 'Orig' mediante programación RETURN SWITCH( TRUE(), VALUE(Major) > 23 && VALOR (Menor) > 455 && VALOR (Compilación) > 6750, "¡Bien!", // Si los números major, minor y build son lo suficientemente altos, la versión de software está en conformidad. " Bad" // De lo contrario, la versión de software está fuera de cumplimiento. )
Solved! Go to Solution.
Allí @wad11656
Descargue este archivo PBIX de ejemplo con el siguiente ejemplo
Esto es muy fácil de hacer en Power Query - eso es para lo que está construido para
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs5PKzFU0lEyMtYzMdUzM7cwUIrVgQgbAYUN9Yz0TM1MTAzhosYgUSM9Yz0LI0OEWhOwWgM9AyBQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Software = _t, Major.Minor.Build = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "Major.Minor.Build", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Major.Minor.Build.1", "Major.Minor.Build.2", "Major.Minor.Build.3"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Delimiter",{{"Major.Minor.Build.1", "Major"}, {"Major.Minor.Build.2", "Minor"}, {"Major.Minor.Build.3", "Build"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Major", Int64.Type}, {"Minor", Int64.Type}, {"Build", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Software Compliance", each if [Major] >= 23 and [Minor] >= 455 and [Build] >= 6750 then "Good" else "Bad")
in
#"Added Custom"
saludos
Phil
Allí @wad11656
Descargue este archivo PBIX de ejemplo con el siguiente ejemplo
Esto es muy fácil de hacer en Power Query - eso es para lo que está construido para
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WCs5PKzFU0lEyMtYzMdUzM7cwUIrVgQgbAYUN9Yz0TM1MTAzhosYgUSM9Yz0LI0OEWhOwWgM9AyBQio0FAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Software = _t, Major.Minor.Build = _t]),
#"Split Column by Delimiter" = Table.SplitColumn(Source, "Major.Minor.Build", Splitter.SplitTextByDelimiter(".", QuoteStyle.Csv), {"Major.Minor.Build.1", "Major.Minor.Build.2", "Major.Minor.Build.3"}),
#"Renamed Columns" = Table.RenameColumns(#"Split Column by Delimiter",{{"Major.Minor.Build.1", "Major"}, {"Major.Minor.Build.2", "Minor"}, {"Major.Minor.Build.3", "Build"}}),
#"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Major", Int64.Type}, {"Minor", Int64.Type}, {"Build", Int64.Type}}),
#"Added Custom" = Table.AddColumn(#"Changed Type", "Software Compliance", each if [Major] >= 23 and [Minor] >= 455 and [Build] >= 6750 then "Good" else "Bad")
in
#"Added Custom"
saludos
Phil