Tableau Include Latest Revision (Publish) Date in Dashboard - tableau-api

I have a dashboard I am developing in 2018.2.3 Desktop that will eventually get published to our internal Tableau Web Portal. I am writing a "Help" tab that has some documentation, directions, etc. for users to view in case they are curious what report is for, how to use it, definitions, etc..
One piece that I want to include at the header of this are three dates:
Report Created
Report Data Refresh
Report Publish Date
The first two are simple, the "Report Created" is just text, since I have no idea how to get the date the report was actually started. Text is fine for this. The Data Refresh is simple as using the, "". That works perfectly.
My only issue is I'd like to include the most recent publish date / revision. Now, I see this in the Tableau Web as meta data on the dashboard, but I'd like it to be part of this "Help" page. Is there a way to do this with some sort of dimension or variable? Thanks in advance.

If you are on Server and not Online, you can take a look at getting this data from the WORKGROUP database that Tableau Server runs from. Use this guide from Tableau to get that setup.
Then you will want to look at the workbook, sites and workbook_versions tables. Here is a sample query that could help.
select s.name site, w.name workbook, wv.version_number, wv.published_at, w.updated_at
from workbooks w
left join sites s on w.site_id = s.id
left join workbook_versions wv on w.id = wv.workbook_id
where upper(w.name) like '%<WORKBOOK>%'
group by 1,2,3,4,5
having w.updated_at = max(w.updated_at)
published_at is a timestamp of the initial publish.
updated_at is the last date it was updated.
version_number is a count of how many times the workbook has been published to on that site.
Here is a data dictionary for all the other available tables.
You can pull this query as a new data source and build the text that you want to display.

Related

Crystal Reports Filtering and Organizing data

I am writing a small Crystal Report using 2 tables (TICKET,HISTORY,CUSTOMER) from a database I was given access to. I do not have access to modify the database tables to correct the issue and I am looking to see if this is possible.
The TICKET table is my main table and has a 1 to Many relation to HISTORY table.
The CUSTOMER table has 1 to Many relation to the TICKET table.
Inside the HISTORY table, there is column called Version. Every time a HISTORY entry is added on a TICKET, the Version number is written into this field, ie 21.4, 19.7, etc.
Ideally, the version would be better suited attached to the CUSTOMER table once the entry was added into the HISTORY table, but that change has not been made.
What I am trying to do with my report is group and display my results as follows:
Version Number
Customer Name
I can get this far, but the issue I am running into is, I only want to show the customer on their latest version number and suppress all previous records so I can get an accurate count of how many and which customers are on each version. Is this possible to do?
If you are allowed to create a VIEW in the database, create one that joins Ticket to History, groups on Ticket ID, and returns the Ticket ID and the Max of the Version.
In Crystal, you can then simply joint to that View.

Group Dates in Google Sheet Filter

is there any way I can group dates of a report in Google Sheets?
The difficulty that comes along is that this is a report that updates automatically every 4 hours (Salesforce connector).
When I add a slicer/filter option it shows me all the individual dates, but it would be great if I could somehow group them in the filter/slicer option only - without making changes to the live report from Salesforce.
Here is an example (Tab: Meetings): https://docs.google.com/spreadsheets/d/1IVJECB6z7pNXl2xas6O6uixx7gZ5GY0wZaFkaad01dY/edit?usp=sharing
In the example I do not have a live report (obviously), but I am afraid creating a new column for date or even pivot table will be difficult as there will be new record lines added to the sheet through the salesforce connector as it updates automatically..

SAP Business Objects - List for every report with its user access right

I'm looking for a way to generate in an excel or csv file a List for every report on Business Objects server with its user access right.
My report should be like: Folder / Report Name / User or Group Name / Privileges
Is there any way to generate such report?
The query builder has no export function built in – the best I’ve been able to do with it is to copy and paste to Excel, which can be pretty messy.
Here’s an example of a query that should work for you:
select SI_NAME, SI_OWNER, SI_PROCESSINFO, SI_SCHEDULEINFO from CI_INFOOBJECTS where SI_SCHEDULEINFO.SI_STARTTIME>=’2009.05.16.05.00.00′ and SI_SCHEDULEINFO.SI_STARTTIME<‘2009.05.17.05.00.00’ – would be from midnight on the 16th to midnight on the 17th if you?re in the Central time zone during DST ? the results are in local time
I think the QB was intended as an example of what you can do with the BOE SDK and has pretty limited functionality, but it can give you some very useful information without any .net or java development.

Dynamic Reporting Day in Tableau Dashboard

I have been trying my hands on something in Tableau and finding it hard to implement. I have attached my sample workbook and the data source I am using from excel. The second tab in Excel shows the final dashboards I want to see as the end result; the first of which I have accomplished in Tableau using the desktop version.
There are 5 kinds of products for which the quality runs happen at different times. My goal is to return the 'Result' of the product based on the latest available 'Quality Run Time' which is 29th March 2018. I got to this part using two calculated fields below:
{FIXED [Product] : MAX([Quality Run Time])} as 'Max_Date'
IF [Quality Run Time] = [Max_Date] THEN [Result] END as 'Max_Result'
The result of this is in the workbook. The problem is I want a dynamic 'Reporting Period' filter for the user to be able to choose from available dates in the 'Quality Run Time.' For example if I wanted to run a report for 27th March 2018, based on the logic I should see the dashboard below (ex from Tab 2 in Excel). I am guessing my calculated fields need to be dynamic somehow and I have tried many different options but it hasn't worked yet.
Please pickup data source and workbook from here
Your logic doesn't work as expected.
You need to create a parameter with datatype DATE and then use that in filter.
I have changed the report and attached in the same link.
I have changed in Tableau version 10.5
Edit---------------------------------------------------
Updated with v10.4 in same link

How to write the queries in power bi

I am using Power BI in my current project for making charts. My data source is Azure SQL database.
I would like a table chart to display today and yesterday data only, for which i used advanced filtering by setting the filter to today and yesterday dates. However, I want to be able to open my report tomorrow and see charts use data from tomorrow and today respectively.
With advanced filtering the charts appear static, not dynamic.
It would be good if someone could explain how to write queries in Power BI on my tables.
You could either
1) modify your sql query to only return today and yesterday data
or
2) add a calculated boolean column, something along the lines of
"IsCurrent = IF(AND(DATEVALUE(Table1[Date])<=TODAY() , 1.0*(DATEVALUE(Table1[Date])-TODAY())<=2),True,False)"
Then filter by IsCurrent.
Using the SDK you can apply filter(s) dynamically to the report. This allows you to simulate the user filtering the report data to the current day and yesterday.
Your client app would compute the correct filter data values and apply it to the report. Using something like report.setFilters(filters)
See this related question for more information about filters:
Power BI Embed URL-multiple filters