I'm trying to solve an issue in google sheets concerning the transpose function.
Now for the sake of the problem, imagine I have 4 sheets: 1. Tracing: where there is a dropdown list of customer and invoice number 2. Invoice database: where all data regarding invoices are stored. 3. Validation list for the dropdownlist for the invoice number as in Sheet 1: Tracing. The 4th sheet is basically a data sheet to select the customer.
I would like to have in sheet 3. Validation list: 1. A transposed list of all invoices regarding the specific customer. So, based on the specific choice of customer, one should be able to only select invoices from the specific customer
Beneath some links to pictures of the example sheet:
Tracing tab: The overview of the tracing tab
Invoice database: The overview of the invoice database
Validation list: The overview of the validation list
What I have tried in the validation list: =IF(A3=Tracing!A2,transpose(offset('Invoice Database'!B3:B,,match(A3,'Invoice Database'!E$2:E$8,0)-1)),"")
Currently, this formula displays all invoices of all company, I would like the formula to return only invoices that are for the respective company.
This formula would work perfectly if all the customers in the invoice database have their own section. But, what I would not want to do in the invoice database is to split each customer into its own section containing the different headers.
Preferably, I would not want to work with =QUERY function. But if no other choice I will accept using the =QUERY function.
Could anyone offer me some insight?
See example sheet here: https://docs.google.com/spreadsheets/d/1Oe6OBumGhioK2-AesD7hnh6xyfhq16qyA_2BBwO47ts/edit?usp=sharing
See screenshot of how desired output should look like here:
Screenshot of desired output
EDIT1: Added an example sheet
EDIT2: Added a screenshot
On your 'Validation list' tab, cell B27, try this to only bring back invoice numbers related to one company (contents of A3 below):
=transpose(filter('Invoice Database'!A:A,'Invoice Database'!E:E=A3))
Related
The Problem
Accounts Receivable has asked me to add (pre)payments to the invoices they send out because customers are paying twice (when they pre-pay and then when they get the invoice). They have tried sending receipts of payments with the invoice, but the double payments are still happening. Plus, as the head of Accounting said, "If doctor bills can show payments, why can't we? The pre-payments are applied in the system to an invoice but why is there no way to include that on the invoice?"
My Investigation
The Invoice report form has ARTran entity as the detail lines on any given invoice. However, ARTran only includes the itemized lines created for an invoice (usually from a link Sales Order) and not the applied payments. Applied payments are in the table ARAdjst which has no correlation to ARTran. So, my immediate thought is that a subreport is needed. Acumatica's help files say in order to add subreport, the report definition file needs to be in the same file on the server as the main report definition and that the subreport needs to have the same report parameters as the main report.
Proposed Solution
Create a subreport for ARAdjst for an invoice and total the payments in the subreport at the bottom of the main report. Let the subreport be visible only if there are payments. Subtract the payment total from the invoicing total, which is what Accounting really wants.
How It's Going
I have created a simple report called Adjustments that has the same parameters as the invoice and shows the ARAdjst for the invoice and sums the total for payments. I added the subreport to the Invoice report and linked them via parameters. I haven't even tried to get the sum of Adjustments to a field on the Invoice. I also added the Adjustments report to the server via the Report Designer (which puts the definition in the database) and by copying the file to reports folder on the server because that's what the help says to do. It crashes every time I try to run invoices in Acumatica. I also had to remove the group footer on invoice that I added for the Adjustments subreport, because I was getting an error even if I rolled back to a different version. I've considered the fact that since it's not a system report, that might be why it won't let me add it as a subreport. There are no system reports that show (pre)payments beyond AR Detail or AR Register, both of which are not what I'm looking for.
My Plea
Has anyone added a non-system report as an Acumatica subreport before and had the addition work? If yes, how?
I'm feeling like this solution is dead in the water, right now. And I never thought I would see the day when I miss Crystal Reports, ha. I was going to take screenshots of the report layouts, but obviously, there is more to it than that or it would be working.
There's nothing really special with built-in sub-reports.
You need to have 2 rpx files in reports folder for report and sub-report.
Then you put a SubReport element in the main Report.
Passing the parameters is the most tricky part. Reference: https://help-2018r1.acumatica.com/Wiki/ShowWiki.aspx?pageid=da5f4cca-6435-4400-a814-8d74ae813986
Maybe I'm wrong but from what I know, you can pass a parameter from Report to Sub-Report:
But you can't pass the parameter from Sub-Report to Report:
To display the total of Sub-Report in the Report I would add a new custom field to the report DAC (invoice) that sums the pre-payments. This custom field can be initialized with the desired value in many ways. For example, using a field attribute like PXFormula/PXDBCalc or with a FieldSelecting event.
I'm trying to create a report to pull my Square POS transaction data into Excel through Power Query. Basically, I want the information available in the standard "Items Detail CSV" report found in the Square Dashboard, but connected to Excel so I can build custom reporting and update it any time with a refresh.
I can connect to the Square data in Excel no problem. What I'm having trouble with is finding the right data, specifically the notes the merchant can enter in during the time of sale about the item. We have several items that will come up as "Custom Amount" where we enter additional notes about the item, and I can't find the notes field through the API.
After looking through the documentation, I've tried two main queries:
The Transactions List from v2:
https://connect.squareup.com/v2/locations/{location_id}/transactions
The Payments List from v1:
https://connect.squareup.com/v1/{location_id}/payments
The Payments List includes the v1PaymentItemization data type, which should include the notes field defined as "Notes entered by the merchant about the item at the time of payment, if any." I assume that's what I'm looking for.
(Link to documentation: https://docs.connect.squareup.com/api/connect/v1#type-v1paymentitemization)
However, I cannot find the notes field anywhere in my pulled results. There are no error messages, and I see every data field listed in the v1PaymentItemization documentation except "notes" in my query results.
Edit: The notes we're using are on individual items, not the payment as a whole. This fits the description of V1 List Payments -> PaymentItemization -> notes. I did check the tender notes as mentioned in the comments, but this was not what I'm looking for. Until now, I wasn't aware we could make a comment on the transaction as a whole, as opposed to individual items. The individual items notes would be more helpful anyway.
Either way, I didn't find the tender notes in the pulled data either. Most of the fields are there in the data pull, but not notes, v1TenderEntryMethod, and a couple of others. There's actually more data available in the standard dashboard reports than is actually pulling from the API.
I do realize a workaround is to export the Item Detail CSV report from the Square Dashboard, and then manipulate the data in Excel from there. I could even have a connection to the folder or file where I save my exports. It's just not as smooth as the desired result of opening Excel, setting my parameters there, and clicking refresh to get the data and formatted report all in one place.
Thanks
Second Edit: In the POS, I'm entering an amount which shows up as Custom Amount in the itemized list for the sale. I then click on the Custom Amount to add a note to it and specify what the item is (e.g., "Lamp"). That note is applied to a single item, and there may be several items per transaction that have these notes added to them which would otherwise only show as "Custom Amount" on a report or receipt. We do this because we sell several items that are not standard inventory items, but we do want to keep track of what we've sold.
I can see these notes for each item in the standard reporting, so I know the data is entered and saved correctly. However, I can't find the note field when I pull from the API. I see all of the other itemization fields (i.e., name, quantity, item_detail, itemization_type, etc.), but not the note field.
I'm getting these results with a simple /v1/payments pull with no parameters or filters.
I'm a teacher who manages a caseload of students who have yearly meetings. Each year their services, hours, supports, etc. change. We complete a survey on each student to record all this data on a single spreadsheet. I want to pull data from those submissions to replace the students' information with the most recently dated information in our caseload master report (Tab one). If no data is entered yet I want it to remain the same.
The first tab is what we use for reporting to our team and the IEP completion tab is where the survey data is imported. I tried some solutions such as VLOOKUP with some IF statements but I don't think that is the correct route to go.
I scrubbed the linked Google spreadsheet for confidentiality.
Assuming Student ID#/ID Number is a reliable unique index in a third sheet create a VLOOKUP of the ID Number's associated fields from Tab1. Fields not found will error, so wrap your VLOOKUP with IFERROR and an INDEX/MATCH (because the ID there is not in ColumnA) of the fields in Tab2.
How can I build a subgrid that displays related records both of the current record and records above it, and can it contain complex conditions ?
One of my requirements is this:
I want to put a subgrid in Account form showing the related Contacts of the current Account, and also include the Contacts related to Accounts above the current one if a Two Options attribute of the contact is set to Yes.
Specifically, I'm looking at the Company Name on Contact to establish it's related to an Account.
I'm at a loss and start to doubt it's doable.
Not an out of the box solution but if you don’t mind losing the sub grid command bar functionality you can use the following concept that displays a fetchxml inside a sub-grid.
Step 1 - would be to get all related accounts ids using a fetch or odata
Step 2 - construct a fetchxml with OR filter to get all contacts
I'm trying to build a FileMaker Pro 11 layout that excludes records containing a certain value. The relevant data is in table Invoice. I want to filter so that Invoice records whose "Invoice Check Grouping" field is blank are not displayed on the layout.
I've added a global field to the invoice table called "Blank Invoice Check Grouping" to use as my filter criteria. I've created a self-join relationship to the Invoice table, joining "Invoice ID" to "Invoice ID" and joining "Invoice Check Grouping" to "Blank Invoice Check Grouping". The resulting table is named "Invoice Check Groupings".
The layout which I build based on table "Invoice Check Groupings" shows all records in Invoice--it does not filter out those with blank values. What am I doing incorrectly?
Thanks,
Ben
Layouts show records in a table (or more accurately, a table occurrence) and don't directly deal with related data. As mentioned by #pft221, you can use relationships for filtering, but only when viewing data through a portal.
If you always want a particular layout to show data based on a particular find, you can do so with a script and a script trigger. First set up a script to do the following:
Enter Find Mode[]
Set Field["Invoice Check Grouping"; "*" // Find all records with any data in this field
Perform Find[]
Note that you can also embed the find request within the Perform Find script step, but I tend to script finds in the above manner as it's easier to see what the find request is in the script and variables can be used in the find request.
Now you need to set your layout to execute this script whenever it's loaded. Go to the layout and enter Layout Mode. Select Layouts>Layout Setup from the menu bar. Click the Script Triggers tab and check the box for OnLayoutEnter and select the script you wrote above. Now whenever the layout is entered, that script will run and exclude the records that have that particular field being empty.
There are many ways to filter records, depending on what you are trying to do and what you are trying to display for your users.
The most common and simple way you can filter records is through a simple Find in a list view. I'm unclear from your question, but my best guess is that you're already using a list view and misunderstanding how FileMaker's relationships and Table Occurrences (TO's) work.
To Filter with the "Find Records" method:
Create a new List View layout of any Table Occurrence of your Invoice Table -- most likely you will want to use the default Table Occurrence that FileMaker created for you when you created the table.
Place the fields that you would like to display on that layout, including the "Invoice Check Grouping" field.
Switch into Find Mode
Put a '*' character into the "Invoice Check Grouping" field
Perform the Find
You should now see a list of all Invoices where the "Invoice Check Grouping" field is not blank. (You can find additional interesting search criteria in the "Insert: Operators" drop down of the title bar.)
Now you may actually be looking to filter related records through a portal but, given that you've set up a self-join on the Invoice index on the Invoice table my guess is that, at best, this would show either 0 or 1 record for each Invoice record you display in your main layout.
To Filter Records with the "Portal Filter" method:
Let's assume, though, that you have a Client table where you'd like to see only the records with a non-blank "Invoice Check Grouping" value. The table set-up would be as follows:
Client
Client ID
[... other client info ...]
Invoice
Invoice ID
Client ID
Invoice Check Grouping
[... other invoice info ...]
With a relationship in the relationships graph:
Client::Client ID ------< Invoice::Client ID
From there you would set up a Form layout on the Client TO and create a portal showing records from the Invoice TO. From the options for the portal you would select "Filter Portal Records" and use a formula similar to:
not IsEmpty(Invoice::Invoice Check Grouping)
Finally, it's worth noting that a portal filter isn't appropriate for all display situations or calculations. You can set up a similar filter completely through your relationships graph (as I believe you have already tried to do.) This will work, once again, for viewing records through a portal but not for the records displayed by a layout itself.
The answers above don't actually help Ben with his question. They are workarounds.
I have the same problem as Ben, and I don't think there is a solution, even now in Filemaker 12. There is I think no way to define a relationship that will omit the related records where the match fields are empty.
Two options come to mind:
On a specific layout, you have more fine-grained control in the portal definition itself, and can use this to exclude the records
You can now use SQL queries to achieve this result within Filemkaer.