Apply timezone by id on Power BI - timezone

(Here's quite the same question I opened on Microsoft Power BI community forum)
I have a table in my database where I have a column with datetime values in UTC and another column with the timezone of this datetime (a string containing the IANA id of the timezone, like "America/Sao_Paulo").
I must generate in Power BI a new column with the DateTimeZone value corresponding to the given datetime in UTC converted to the given timezone, and it must work on Power Bi Desktop and also on cloud (Power BI embedded).
I searched through Power Query M and DAX docs, but could only find ways to apply timezone to a datetime using numbers (e.g. -10), but not using IANA IDs... (It's important for me to use the timezone id instead of simple numbers because of Daylight Saving Time).
I tried Reza Rad's idea of using a Web Query with Power Query in the past, but it turns out that online Power BI won't let me use web query and simply won't update my data source (which is a hard requirement to me). Furthermore, their method doesn't solve my exact situation, as I should still figure out which website to send request and which structure to use on my report. (I'm open to suggestions on this matter)
There's a similar thread on Power BI community forum, still with no solution.
Could someone help me apply the timezones to the datetimes, be it using Power Query M, DAX or other workarounds on Power BI?

Question:
but it turns out that online Power BI won't let me use web query and simply won't update my data source (which is a hard requirement to me).
You need a gateway connection for the Online Power BI to work. In Online Power BI, the schedule refresh needs a gateway to refresh Web-Queries or local Folder/File Queries.
Procedure:
You need to install Data Gateway on your PC from here
I think in your particular case, you can install the Personal Gateway.
Instructions to install personal gateway: https://www.youtube.com/watch?v=xjcO5tNvjGs
Once you install it, Please follow the following steps:
Go to the dataset settings in your Power BI Service and click on Gateway connection, your personal gateway will be automatically selected.
After that edit your Data Source credentials and choose Anonymous.
Once this is done, you can toggle the Schedule refresh on for your dataset.
Screenshot below:
Note: I've tested this and its working fine.

If you'd like to get the information of the timezone as a query, the you can use the following Wikipedia link as the data-source and extract the timezone table from it.
I have tried it and it gets the data (Screenshot below). Once you get the data as query, you can create relationships or you can merge this with your query.
Please check if this helps you.

Related

Google Sheet Data Connector to Bigquery Disappeared

Existing working connections to Bigquery from Google Sheets (using the new data connector) just stopped working yesterday, and now do not show up in the "Data" menu as before.
Anyone else experiencing? And, knows how to mitigate?
Support suggested trying to make a new sheet in incognito mode, but it still is just missing from the menu now:
It appears the exiting sheets just don't have "Refresh" as an option anymore, despite remaining in the sheet:
you are right. It was available for "Business", but now it is restricted to Entreprise+.
Below the response I got from Sheets Team.
Thanks for contacting Google Cloud Support, my name is XXXXXXXX and I
am with the Sheets Specialist Team. (...). I see that you have lost
access to Bigquery in Sheets. I regret to inform you that the feature
is no longer available for G Suite Business accounts, you would need
to upgrade to G Suite Enterprise for the feature to be available
again, you will find additional information in this Help Center
article: https://support.google.com/a/answer/9604541. Please let me
know if this answers your question or if additional support is
required.
Best Regards.
Gabriel
It appears Google has released a big update to the Data Connector for bigquery, which actually adds a lot of functionality (including pivots, calculated columns within the sheet, and a refresh schedule).
However, they have now limited which types of accounts can use the connector:
See https://support.google.com/docs/answer/9077536?co=GENIE.Platform%3DDesktop&hl=en
And, this list (at least as of 7/18/2020) no longer includes "Business" tier -- which is disappointing to say the least.

How to extract conversion results based on different attribution models from the Google Adwords API

I need to extract data from the adwords API to allow me to see the impact of different attribution models on conversion. I'm visualising my adwords data in the Klipfolio tool. My adwords account is set up to use the position based model but I'd also like to show last click conversions. This is essentially the data which is available in the adwords manager interface. I'm making my API calls via the supermetrics tool but can also create them directly in Klipfolio.
I'm not entirely familiar with the adwords query language but it does look like that there is a field for attribution type.
I've got as far as extracting data via this, using the Klipfolio interface:
SELECT
Date,Conversions,ConversionTypeName
FROM CAMPAIGN_PERFORMANCE_REPORT
DURING {date.add(-7).format('yyyyMMdd')},{date.today.format('yyyyMMdd')}
Exactly what I'm looking for is WHERE function where I can specify a different type of attribution model from the current.
I cannot obtain this data from our Google Analytics data as our conversion data from GA is, unfortunately, duplicated. We're using the adword's conversion tags de-duplication functions to get around this issue.
I'd be very grateful if anyone could share an example of how an API request could look with the attribution model field present or, indeed, give some feedback on whether this is even possible.
Hi you can find more information about the CAMPAIGN_PERFORMANCE_REPORT report here
You can find there the WHERE and SELECT fields like this:
SELECT CampaignName, Clicks, Impressions, Cost
FROM CAMPAIGN_PERFORMANCE_REPORT
WHERE Impressions < 10
DURING LAST_30_DAYS'
Usually the reason for the duplications it's the selection of SELECT parameters, but I cannot say this for sure without more information.

JIRA rest API max row

I am connecting a JIRA to Power BI so I can make my own reports.
To do this I use the JIRA web API. But the problem is that I am limited to a max row of 1000.
How can I do to retreive all rows into power BI. Should I do some kind of cycle with parameters? Should concatenate n queries in power query, but when comes new rows, how to deal with them.
Any one any idea?
thx
This is not a trivial task. Most REST APIs use pagination and limit the number of results per page. I would advise you to follow this article on how to do pagination in Power Query written by Mark Tiedemann. I successfully applied the pattern he describes to retrieve tens of thousands of Jira issues in Power BI.
Your idea of concatenation is almost correct. But instead of creating multiple queries (difficult to maintain), a single query is sufficient:
In this query, you retrieve the first page of results which contains the total number of results which you use to calculate the total number of pages. For each page, retrieve all issues (offset and limit). Finally, concatenate all pages into a single list or table.
I installed the Jira Connect application on Power BI. Just enter the URL for your Jira instance, and it will automatically use the Jira REST API.
Example: https://my.jira.app:2990 (note: no path to the REST API).
If Power BI doesn't ask for credentials (happens often), then change your credentials in the dataset web credentials (select Basic authentication).

Not able to see time zone, place or geolocation of any tweets

I am following two tutorials right now and both are up and running and I've gotten plenty of tweets/sentiment scores from them:
1) Twitter Stream Analytics on Azure https://azure.microsoft.com/en-us/documentation/articles/stream-analytics-twitter-sentiment-analysis-trends/
2) Twitter Analysis with Spark Streaminghttp://ampcamp.berkeley.edu/3/exercises/realtime-processing-with-spark-streaming.html
I am using the free oauth tool provided from apps.twitter.com.
Problem
I've tried getPlace, getGeoLocation in the Spark Streaming app and every tweet I get has a null value for those two fields. I have tried filtering for tweets that only have values for getPlace, get GeoLocation and I get null for both (I ran the app for almost 20 minutes).
I've also tried getting TimeZone in the Azure app (so I can get some sort of geography data) and even then I kept getting null values for TimeZone.
Possible Obstacles
1) Does the free twitter api filter out the place/geoLocation information so I end up buying a subscription to a better api?
2) Do I need to explicitly search for tweets that have geoLocation/Places? Rather than getting all tweets and then filtering out ones that have geoLocation/Places? If so, can I execute this search in Spark Streaming?This is the code that I have in Spark Streaming:
val stream = TwitterUtils.createStream(ssc, None, filters)
val hashTags = stream.map(status => Tweet(status.getPlace().getName(), classifyTweet(status.getText())))
Thank you for the help!
I've personally used the free Twitter api to get locations and publish them on a a map on PowerBi. So you can rule out the first obstacle.
One thing to note is that location field is only available if the client specifically allows the application to have location, which renders it quite rare to be found. The ratio for data with location in my sample data was about 8%.
Don't have an answer for spark side, just wanted to help you rule out the first possibility.
Hope this helps.

Adobe SiteCatalyst:How to export the groups with list of usernames and report suite

i am working on Adobe SiteCatalyst.
i am able to download the groups with column names Group Name,Description,Users and Report Suites.
In above list am getting count of users and report suites.but i need a exact name instead of count how this can be done using Adobe Site Catalyst..
Please help me..
I don't know of a built in report that will get you this. If there is a small number of users and you don't need to do it very often then you can do this manually. But it would be a pain.
If you think it is worth investing some time into this because you have a lot of users and/or you need to do this report often then you can use the Enterprise API to automate this report.
You will need to create a user with the Web Services permission. Then using that username and secret (be careful to use the exact format from the Admin tools->Company Settings->Web Services as there is a "loginCompany:username" format and special Shared Secret)
Then you can use the APIs assuming you have some development experience. This is a good starting point. https://developer.omniture.com/en_US/get-started/api-explorer#Permissions.GetGroup and also look at GetGroups.
Best of luck C.

Resources