Count hyperlinks in power bi - powerbi

I have a column named "body" and in this columns there many rows that contain hyperlinks in text.
is it possible in power bi to count if there is a hyperlink in text then create a new column that shows the number of hyperlink provided in the text or atleast show in a different column that this text contain hyperlinks. TA

You can add a Custom Column to count the number of occurrences of <a (note there is a space after a) in the body. You can do that using Text.PositionOf function by passing Occurrence.All parameter, so the formula used to create the column should be something like this:
= List.Count(Text.PositionOf([body], "<a ", Occurrence.All))
This will give you how many times <a appears in the body (which is the number of hyperlinks):

Related

If contain in DAX

I have a column which a couple of words about goods that are unique like (a pair of shoes, shoe, shoes) I want to create a new column and search for that column containing some words like this write Shoes in a new column. also, the text in the column is in Persian. How can I do it?
Hi, I have a column which a couple of words about goods that are unique like (a pair of shoes, shoe, shoes) I want to create a new column and search for that column containing some words like this write Shoes in a new column. also, the text in the column is in Persian. How can I do it?

if and search function on power BI token literal expected

I have a table called "food suppliers" with a column called "sites" that have multiple countries ending in ".com", ".es", ".co.uk".
I want to create a new column that separates these sites into their corresponding country names using the if and search function on power query.
so far in power query custom column I have:
Country = IF (SEARCH ("*.com", foodsuppliers[sites],,0) = 0, IF (SEARCH ("*.es", foodsuppliers[sites],, 0)= 0, "Spain","UK"),"USA")
But I am getting a "token literal expected" under the first = sign in "IF (SEARCH ("*.com", foodsuppliers[sites],,0) = 0"
does any one have ideas why or a better way to run this code on power query/power bi?
thanks.
Nothing in your code seems relevant
There is no SEARCH function, you want to use Text.Contains
You cant write foodsuppliers[sites] or you will be getting the entire column of all rows. You probably want each current row, which you would get with [sites]
This is not excel where you can do =if (xxx,fff,zzz) the format is if x then y else z
I recommend some tutorials

How do I collapse an expanded column into single rows?

I have a SharePoint list containing a column with data type People or Group which can contain multiple people. When this list is imported into Power BI it appears as [Table] in the Power BI Query Editor.
When I expand this column (using highlighted button above), it creates multiple rows (which I don't want).
My goal is to preserve the row count of my table by converting all duplicate rows created by the expansion back to single rows with a delimiter between values. Has anyone found a way to consolidate this?
Data example
Original Data
ID
ColumnHeader
OtherColumns
1
[Table]
OtherData
After expansion
ID
ColumnHeader
OtherColumns
1
FakeEmail#email.com
OtherData
1
FakeEmail2#email.com
OtherData
Target output
ID
ColumnHeader
OtherColumns
1
FakeEmail#email.com# FakeEmail2#email.com
OtherData
*The delimiter can be anything (not neccesarily a #)
Assume you have a table like this.
Table (in green) contains data structured like this.
To achieve the concatenation you're after as follows:
Add a custom column with the following code.
Text.Combine([ColumnHeader][Column Header A],"# ")

Change value of a single cell in Power BI

I am trying to change the value of a single cell in power bi. When I go into the "data" view then right click and then go to "edit query" I have the option for "replace values". This works like a find and replace, the issue I am having is that if there are multiple cells with the same values they will all get changed. How can I just edit a single cell??
Unfortunately it is not as easy as just editing the cell. If you do not have an index/id column in your table then add one (there is a button on the toolbar to do this).
Then create a new custom column in M (PowerQuery / the data prep language of PowerBI), along the lines of:
NewColumn = IF ([Index] = "Index Number" and [YourColumn] = "<your value>")
THEN "The new text"
ELSE [YourOriginalColumn]
Rename or remove the original column and rename NewColumn to the original column name.

Split a column of lists into multiple columns in PowerBI

I have imported a JSON file into PowerBI and it contains a column in which the values are of type "List". I am looking to expand that column into multiple columns.
Specifically, the data contains a Sprint Name, the start date and the end date of the sprint, along with some other values associated with each sprint.
Trying to use "Expand to new rows" duplicates each sprint instance, creating a table that looks like this, duplicating each sprint instance multiple times for each associated value:
Sprint Name Value
JAN(S1Dev) 2019-01-01
JAN(S1Dev) 2019-01-13
JAN(S1Dev) {attribute}
JAN(S1Dev) {attribute}
JAN(S2Dev) 2019-01-14
JAN(S2Dev) 2019-01-31
JAN(S2Dev) {attribute}
JAN(S2Dev) {attribute}
FEB(S1Test) 2019-02-01
FEB(S1Test) 2019-02-15
... ...
I would like to do something similar to the "expand" feature, which instead creates a new column with each attribute rather than a new row. This is currently vastly increasing the size of my table for no reason, while also making the data practically un-useable. Any help would be appreciated, cheers!
I have found a very simple solution to this, but as it took me some time to figure it out I will answer my own question instead of deleting it to help others in the future...
Upon importing the JSON data into PowerBI first select "Convert to Table" to view the data as a table with editable properties.
Next, click the arrows pointing away from each other at the top of the column of Lists, and select "Extract Values".
Select a delimiter to use for concatenating values, I am choosing a comma since I know that the data contained within the list does not have any commas in it. If your data contains commas within it, choose something else. Similarly, if your data contains one of the delimiters, do not choose that as the delimiter.
It should now display a comma-separated list where it previously displayed "List" in orange text.
Now, right-click on the column and select "Split Column" then choose "By Delimiter"
Select the delimiter that you previously chose, and under "split at" select "Each occurrence of the delimiter" then click OK.
Your column should now be split into multiple columns based on the list!