Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
Hi, I want to categorize the datacenter to a region like the table below and use it in one of my reports.
Datacenter | Location |
ABC01 | Europe |
ABC02 | Europe |
ACB01 | Europe |
ACB02 | Europe |
BAC01 | AMER |
BAC02 | AMER |
BDA01 | AMER |
BDA02 | AMER |
CAB01 | APAC |
CAB02 | APAC |
CDA01 | APAC |
CDA02 | APAC |
I am trying to use OR function in this context and I don't get the results. Please help.
"Added Conditional Column" = Table.AddColumn(#"Changed Type", "Region",
each if Text.Contains([Data Center], OR("AB*, AC*") then "Europe"
else if Text.Contains([Data Center], OR("BA*, BD*") then "Americas"
else if Text.Contains([Data Center], OR("CA*, CD*") then "APAC"
else "Uncategorized")
Thanks,
Naresh
Thank you for the solutions.
Will I be not able to call the function with multiple values in at a time? I have over 50 datacenters that needs categorization and the code looks cumbersome
It will be easy if I provide the the values in a single function rather than taking up multiple lines.
such as:
if Text.Contains([Data Center], OR("AB*, AC*") then "Europe"
or
if Text.StartsWith([Data Center],OR("AB*", "AC*") then "Europe"
or
if StartString = or("AB*", "AC*) then "Europe"
Hi @rvnaresh
Yes you could write this as a function, called FindRegion
(DataCenter as text) =>
let
DC = Text.Start(DataCenter , 2),
Regions = [
AB = "Europe",
AC = "Europe",
BA = "Americas",
BD = "Americas",
CA = "APAC",
CD = "APAC"
],
Source = if Record.HasFields(Regions, DC) then Record.Field(Regions, DC) else "Uncategorized"
in
Source
You'll need to add all of the data center codes and regions to the Regions record in this function.
You can then call it in a new Custom Column like this
= FindRegion([Data Center])
regards
Phil
Proud to be a Super User!
Thanks Phil..
will give it a try
Hello,
Wouldn't it make sense to have a separate lookup table in which you start all the datacenters and join this to the main table? This increases flexibility as i think an if clause is not best stuiable if you have over 50 cases.
Hello,
Please add the following code in a custom column:
let
StartString = Text.Upper(Text.Start([Column1],2))
in
if StartString = "AB" or StartString = "AC" then "Europe"
else if StartString = "BA" or StartString = "BD" then "Americas"
else if StartString = "CA" or StartString = "CD" then "APAC"
else "Uncategorized"
Hi @rvnaresh
Use the Text.StartsWith function and or like this
if Text.StartsWith([Data Center],"AB") or Text.StartsWith([Data Center], "AC") then "Europe"
else if Text.StartsWith([Data Center],"AB") or Text.StartsWith([Data Center], "BD") then "Americas"
else if Text.StartsWith([Data Center],"CA") or Text.StartsWith([Data Center], "CD") then "APAC"
else "Uncategorized"
regards
Phil
Proud to be a Super User!
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Ask questions in Eventhouse and KQL, Eventstream, and Reflex.
User | Count |
---|---|
41 | |
23 | |
21 | |
21 | |
13 |