Category: News
Having trouble creating formula to show 1 of three outputs based on matching information in columns
Hello everyone. I am trying to compare assets in 2 databases. There are varying numbers of assets in each and I want to create a formula that compares which assets are replicated in both and which are unique to one database and not the other. I have a workbook with two sheets, one titled Webfinity and one titled CSOD. I want to compare the value in cell (‘webfinity’ z:1) with any value in (‘csod’ I1:I500). If it finds a match, I want to populate (‘webfinity’ z:1) with “both”, if no match then “webfinity only” and (the really tough one) if a cell in (‘csod’ I1) does not have a matching value in (‘webfinity’ z1:z500) then put value of (‘csod’ a2-z2) in the next available empty row of ‘webfinity’ and putting “csod Only” in first column and the remainder of data in adjacent columns.
I can get the first two to work by applying a formula to all and then, sort and apply a different formula to those that remained blank. Formula: =IF(IFNA(MATCH(Z65,’Partner CSOD’!$I$1:$I$500,0),0)>0,” Both”,””) I changed to =0 to return “webfinity only”.
If no way to create one formula for all of it and paste down the sheet, would at least like a way to do the first two together in one formula.
Thanks in advance for your help. Happy to attach spreadsheet, but not sure how 🙂 First time posting.
Hello everyone. I am trying to compare assets in 2 databases. There are varying numbers of assets in each and I want to create a formula that compares which assets are replicated in both and which are unique to one database and not the other. I have a workbook with two sheets, one titled Webfinity and one titled CSOD. I want to compare the value in cell (‘webfinity’ z:1) with any value in (‘csod’ I1:I500). If it finds a match, I want to populate (‘webfinity’ z:1) with “both”, if no match then “webfinity only” and (the really tough one) if a cell in (‘csod’ I1) does not have a matching value in (‘webfinity’ z1:z500) then put value of (‘csod’ a2-z2) in the next available empty row of ‘webfinity’ and putting “csod Only” in first column and the remainder of data in adjacent columns. I can get the first two to work by applying a formula to all and then, sort and apply a different formula to those that remained blank. Formula: =IF(IFNA(MATCH(Z65,’Partner CSOD’!$I$1:$I$500,0),0)>0,” Both”,””) I changed to =0 to return “webfinity only”. If no way to create one formula for all of it and paste down the sheet, would at least like a way to do the first two together in one formula. Thanks in advance for your help. Happy to attach spreadsheet, but not sure how 🙂 First time posting. Read More
Calculated Column Header Workaround
OK, I have a SharePoint List problem that I have to believe would be common; for anyone using calculated field however, I’ve looked high and low and cannot find a solution or JSON string that will seem to work. I’ll also add that I’m not a programmer and I’m relatively new to this level of SharePoint administration, but I’m pretty persistent and generally pretty capable.
In solving the age-old “custom sort” challenge I created a calculated column that works off a frequency field (options being Daily, Weekly, Bi-Weekly, Monthly, Quarterly, Ad-Hoc, None) because I did not want to use the technique of numbering my labels (1 – Daily, 2-Weekly etc.) The sort works perfectly; the problem is in the grouping. I use a grouping on the (hidden calculated column) sort value and a secondary sort on the Frequency, ending up with Group Sort Title Labels that look like this
FSort: 1 (17)
Frequency: Daily (17)
Daily 7AM Report Name Content1 Content1 Content1…
Daily 7AM Report Name Content2 Content2 Content2…
Etc
I want to either drop/not display the Primary Sort Title (in this case and only show the secondary sort; I’m willing to use a professional-looking workaround like changing the Group Title font to white where it won’t as awkward as it does today since most backgrounds will be white. Any ideas or links to places that can provide me more options to try? I’ll note that CoPilot and ChatGBT provided me a cornucopia of irrelevant information. I know all about Conditional Formatting in columns; this is specifically the Group title. Thanks!!!
OK, I have a SharePoint List problem that I have to believe would be common; for anyone using calculated field however, I’ve looked high and low and cannot find a solution or JSON string that will seem to work. I’ll also add that I’m not a programmer and I’m relatively new to this level of SharePoint administration, but I’m pretty persistent and generally pretty capable. In solving the age-old “custom sort” challenge I created a calculated column that works off a frequency field (options being Daily, Weekly, Bi-Weekly, Monthly, Quarterly, Ad-Hoc, None) because I did not want to use the technique of numbering my labels (1 – Daily, 2-Weekly etc.) The sort works perfectly; the problem is in the grouping. I use a grouping on the (hidden calculated column) sort value and a secondary sort on the Frequency, ending up with Group Sort Title Labels that look like this FSort: 1 (17) Frequency: Daily (17) Daily 7AM Report Name Content1 Content1 Content1… Daily 7AM Report Name Content2 Content2 Content2… EtcI want to either drop/not display the Primary Sort Title (in this case and only show the secondary sort; I’m willing to use a professional-looking workaround like changing the Group Title font to white where it won’t as awkward as it does today since most backgrounds will be white. Any ideas or links to places that can provide me more options to try? I’ll note that CoPilot and ChatGBT provided me a cornucopia of irrelevant information. I know all about Conditional Formatting in columns; this is specifically the Group title. Thanks!!! Read More
Struggling to link pop-up form to main form
Hello,
I’m struggling to properly link the selections made in a pop-up form to the main record.
I have set up the table “UNCategories” to house all the selections from the pop-up form … AND I have a main table, “RTTT,” where “TermID” is the primary key.
TermID is a foreign key in the UNCategories table … and UNCategoriesID is a foreign key in RTTT (the main table).
As you can see in the pic all the way at the bottom, the table UNCategories is registering the results, but when it comes to the record they relate to, nothing but zeros appear! So, I have a bunch of results, but no idea which record they belong to.
Any help would be greatly appreciated! If you need further screen grabs, please let me know.
Hello, I’m struggling to properly link the selections made in a pop-up form to the main record. I have set up the table “UNCategories” to house all the selections from the pop-up form … AND I have a main table, “RTTT,” where “TermID” is the primary key. TermID is a foreign key in the UNCategories table … and UNCategoriesID is a foreign key in RTTT (the main table). As you can see in the pic all the way at the bottom, the table UNCategories is registering the results, but when it comes to the record they relate to, nothing but zeros appear! So, I have a bunch of results, but no idea which record they belong to. Any help would be greatly appreciated! If you need further screen grabs, please let me know. Read More
Fundraising and Engagement solution will be retired
Hi
Has there been any partner announcements for the retirement of Fundraising and Engagement?
This is from a customer’s post on LinkedIn:
Fundraising and Engagement will be retired
Microsoft remains committed to providing affordable and relevant technology and skilling to nonprofit organizations worldwide. As we continue to innovate and enhance our technology offerings, we are making strategic updates to our suite of solutions. Notably, the Fundraising and Engagement solution will be retired, with technical support concluding at 11:59 PM PT (US) on December 31, 2026.
As of July 15, 2024, Microsoft will continue providing necessary security updates, but will not make additional enhancements to Fundraising and Engagement.
Between July 15, 2024, and December 31, 2026, you can continue to use Fundraising and Engagement, apply security updates as they are made available from Microsoft, and receive technical support from Microsoft. After December 31, 2026, Microsoft will no longer implement security updates for Fundraising and Engagement, and there will be no further technical support for the solution.
What action should your organization take?
We want to ensure that all customers have a successful path forward on the Microsoft Cloud for their organizational fundraising needs.
Customers currently using Fundraising and Engagement should work with their Microsoft Partner to identify the future configuration of Dynamics 365 Sales needed to meet their specific needs. If your organization does not have a Microsoft Partner, you can find a partner with knowledge of the Fundraising and Engagement solution at Microsoft.com/nonprofits.
Alternatively, customers can explore Microsoft partner solutions for donor management and fundraising built on Dynamics 365 Sales that have been specifically designed for customers transitioning from Fundraising and Engagement, including solutions from Barhead, mhance, and SylogistMission CRM. More solutions will be coming soon in the Partner solutions area of Solution Center.
If you have questions about these changes, please contact your Microsoft account team, your Microsoft Partner, or use this form to contact us.
Sincerely,
Microsoft Tech for Social Impact Team
Hi Has there been any partner announcements for the retirement of Fundraising and Engagement? This is from a customer’s post on LinkedIn: Fundraising and Engagement will be retiredMicrosoft remains committed to providing affordable and relevant technology and skilling to nonprofit organizations worldwide. As we continue to innovate and enhance our technology offerings, we are making strategic updates to our suite of solutions. Notably, the Fundraising and Engagement solution will be retired, with technical support concluding at 11:59 PM PT (US) on December 31, 2026.As of July 15, 2024, Microsoft will continue providing necessary security updates, but will not make additional enhancements to Fundraising and Engagement.Between July 15, 2024, and December 31, 2026, you can continue to use Fundraising and Engagement, apply security updates as they are made available from Microsoft, and receive technical support from Microsoft. After December 31, 2026, Microsoft will no longer implement security updates for Fundraising and Engagement, and there will be no further technical support for the solution.What action should your organization take?We want to ensure that all customers have a successful path forward on the Microsoft Cloud for their organizational fundraising needs.Customers currently using Fundraising and Engagement should work with their Microsoft Partner to identify the future configuration of Dynamics 365 Sales needed to meet their specific needs. If your organization does not have a Microsoft Partner, you can find a partner with knowledge of the Fundraising and Engagement solution at Microsoft.com/nonprofits.Alternatively, customers can explore Microsoft partner solutions for donor management and fundraising built on Dynamics 365 Sales that have been specifically designed for customers transitioning from Fundraising and Engagement, including solutions from Barhead, mhance, and SylogistMission CRM. More solutions will be coming soon in the Partner solutions area of Solution Center.If you have questions about these changes, please contact your Microsoft account team, your Microsoft Partner, or use this form to contact us.Sincerely,Microsoft Tech for Social Impact Team Read More
Formatting a Cell or Cells from the color pallete
For some reason I lost the capability of highlighting / coloring a cell or cells from the drop down menu above the spreadsheet. I had it previously but now I can select a cell but when selecting color it does not color the cell(s),
Please help, Thank you….
For some reason I lost the capability of highlighting / coloring a cell or cells from the drop down menu above the spreadsheet. I had it previously but now I can select a cell but when selecting color it does not color the cell(s),Please help, Thank you…. Read More
opening .m file results in “index exceeds the number of array elements”
I’ve yet to use MATLAB (new user) and since installing I’ve had issues with trying to open .m files from Finder (Mac). When opening .m file I get a dialog box that says "index exceeds the number of array elements. Index must not exceed 0"I’ve yet to use MATLAB (new user) and since installing I’ve had issues with trying to open .m files from Finder (Mac). When opening .m file I get a dialog box that says "index exceeds the number of array elements. Index must not exceed 0" I’ve yet to use MATLAB (new user) and since installing I’ve had issues with trying to open .m files from Finder (Mac). When opening .m file I get a dialog box that says "index exceeds the number of array elements. Index must not exceed 0" opening files MATLAB Answers — New Questions
How do I set up a custom email inQᴜɪᴄᴋBᴏᴏᴋs?
To set up a custom email in QᴜɪᴄᴋBᴏᴏᴋs, follow these steps:
Open Preferences:
Open QᴜɪᴄᴋBᴏᴏᴋs and go to “Edit” > “Preferences.”Select “Send Forms” from the left menu.
Add Custom Email:
Under the “My Preferences” tab, click “Add” to set up a new email account.
Enter Email Information:
Enter your email address (e.g., email address removed for privacy reasons).Choose “Other” from the dropdown menu if your email provider is not listed.
Enter SMTP Server Details:
Obtain the SMTP server details from your email provider (reebsd.com).Typically, this includes the SMTP server address, port number, and SSL requirements.
if any problem you can call as
To set up a custom email in QᴜɪᴄᴋBᴏᴏᴋs, follow these steps:Open Preferences:Open QᴜɪᴄᴋBᴏᴏᴋs and go to “Edit” > “Preferences.”Select “Send Forms” from the left menu.Add Custom Email:Under the “My Preferences” tab, click “Add” to set up a new email account.Enter Email Information:Enter your email address (e.g., email address removed for privacy reasons).Choose “Other” from the dropdown menu if your email provider is not listed.Enter SMTP Server Details:Obtain the SMTP server details from your email provider (reebsd.com).Typically, this includes the SMTP server address, port number, and SSL requirements.if any problem you can call as Read More
How do I fix QᴜɪᴄᴋBᴏᴏᴋs Error 1304?
QᴜɪᴄᴋBᴏᴏᴋs Error 1304 occurs during installation and is typically due to issues with the installation CD or insufficient permissions. To fix it:
Copy Installation Files: Copy the QᴜɪᴄᴋBᴏᴏᴋs installation files from the CD to your hard drive and run the setup from there.Check Permissions: Ensure you have administrative rights on your computer.Repair .NET Framework: Use the Microsoft .NET Framework Repair Tool to fix any issues.Disable Security Software: Temporarily disable any antivirus or firewall software during installation.Clean Install: If the issue persists, perform a clean install of QᴜɪᴄᴋBᴏᴏᴋs using the QᴜɪᴄᴋBᴏᴏᴋs Clean Install Tool.
QᴜɪᴄᴋBᴏᴏᴋs Error 1304 occurs during installation and is typically due to issues with the installation CD or insufficient permissions. To fix it:Copy Installation Files: Copy the QᴜɪᴄᴋBᴏᴏᴋs installation files from the CD to your hard drive and run the setup from there.Check Permissions: Ensure you have administrative rights on your computer.Repair .NET Framework: Use the Microsoft .NET Framework Repair Tool to fix any issues.Disable Security Software: Temporarily disable any antivirus or firewall software during installation.Clean Install: If the issue persists, perform a clean install of QᴜɪᴄᴋBᴏᴏᴋs using the QᴜɪᴄᴋBᴏᴏᴋs Clean Install Tool. Read More
How to Quickly Access Journal Entries in QᴜɪᴄᴋBᴏᴏᴋs Online
To quickly access journal entries in QᴜɪᴄᴋBᴏᴏᴋs Online, follow these steps:
Login to QᴜɪᴄᴋBᴏᴏᴋs Online: Open QᴜɪᴄᴋBᴏᴏᴋs Online and log in to your account.
Go to the ‘New’ Button: Click on the ‘New’ button (+) at the left-hand corner of the dashboard.
Select ‘Journal Entry’: Under the ‘Other’ section, select ‘Journal Entry’. This will take you directly to the journal entry form.
View Existing Entries: To view existing journal entries, click on the ‘Reports’ tab on the left menu, search for ‘Journal’ in the search bar, and select the report.
These steps provide quick access to creating and viewing journal entries in QᴜɪᴄᴋBᴏᴏᴋs Online.
To quickly access journal entries in QᴜɪᴄᴋBᴏᴏᴋs Online, follow these steps:Login to QᴜɪᴄᴋBᴏᴏᴋs Online: Open QᴜɪᴄᴋBᴏᴏᴋs Online and log in to your account.Go to the ‘New’ Button: Click on the ‘New’ button (+) at the left-hand corner of the dashboard.Select ‘Journal Entry’: Under the ‘Other’ section, select ‘Journal Entry’. This will take you directly to the journal entry form.View Existing Entries: To view existing journal entries, click on the ‘Reports’ tab on the left menu, search for ‘Journal’ in the search bar, and select the report.These steps provide quick access to creating and viewing journal entries in QᴜɪᴄᴋBᴏᴏᴋs Online. Read More
WDK NuGet: A new way to develop drivers on Windows
We are excited to introduce the WDK NuGet, a new offering that enables developers to build drivers for Windows.
The WDK is the essential tool for developing, testing and deploying drivers on the Windows platform. It provides the headers, libraries, tools and metadata that you need to create drivers for Windows devices.
Previously, the WDK was available as an MSI installer or an ISO file.
The WDK NuGet contains the compiled code, libraries, headers, tools and metadata for driver development. You can easily consume the WDK NuGet package by adding it to your project and then calling its functionality in your project code.
The WDK NuGet offer some advantages over the traditional WDK offerings:
It is smaller in size, which reduces the download and setup time.
It is portable across different machines and environments.
It can be integrated with large CI/CD pipelines and source control systems.
It better support an agile WDK release model, it can be easily updated latest WDK features and fixes.
The WDK NuGet is now publicly available on nuget.org, where you can find the latest and previous versions of the package.
To get started with the WDK NuGet, you need to have Visual Studio 2022 or later installed on your machine. You can then follow the steps in this Microsoft Learn documentation to install the WDK NuGet package and create your first driver project.
We are also working on improving the developer experience while developing their driver projects from Visual Studio by adding WDK as a Visual Studio individual workload. This will make it easier to install and update the WDK NuGet package from the Visual Studio installer.
We hope you enjoy the WDK NuGet package and find it useful for your driver development needs. We welcome your feedback and suggestions on how to make it better.
Microsoft Tech Community – Latest Blogs –Read More
Setting Up CDC for Seamless Operations in Azure SQL Managed Instances with Failover Groups
Customers leverage Change Data Capture (CDC) with Azure SQL Managed Instance in various configurations. Although CDC operates smoothly after a local failover to a secondary replica in SQL Managed Instance Business Critical, it is not designed to function seamlessly after a geo failover within a Failover Group configuration. This applies to both General Purpose and Business Critical tiers. This step-by-step guide will assist you in configuring CDC to work seamlessly with a Failover Group configuration, ensuring that changes continue to be captured after a geo failover.
Prerequisites:
Two SQL MI instances configured as failover group partners.
A user database to be configured to capture changes, MyDB in this guide.
Login to the primary replica using SQL Server Management Studio (SSMS).
If CDC is not yet enabled on the primary instance target database, use the following command to configure the database for CDC. Ensure to replace MyDB with the name of the target database.
USE [MyDB]
EXEC sys.sp_cdc_enable_db
GO
Now that CDC is enabled at the database level, enable CDC on the specific tables to track. Use the following T-SQL code to add a table and replace mytable with your table name:
USE [MyDB]
EXEC sys.sp_cdc_enable_table
@source_schema = N’dbo’,
@source_name = N’mytable’,
@role_name = NULL,
@supports_net_changes = 1
GO
For a complete explanation of the above two TSQL statements please refer to the Microsoft documentation: Enable and Disable change data capture – SQL Server | Microsoft Learn
This step will create two SQL Agent jobs with names that contain the database name as can be seen below:
After enabling CDC on your database and tracking changes on tables, we will modify the default CDC configuration to make it failover group aware for seamless data capture after each failover.
Add a new step named Verify if primary replica to the capture job that will verify the current replica is the primary. This is required for ensuring the jobs only run on the primary replica, preventing unnecessary job failures or attempts to run CDC operations on the geo-secondary replica. Add the following T-SQL code as the new step command, replacing MyDB with your actual database name:
IF DATABASEPROPERTYEX(‘MyDB’, ‘Updateability’) <> ‘READ_WRITE’ THROW 50000, ‘This is not the primary replica.’, 1;
The new step will look like this:
Configure the new step to Quit the job reporting success in the On failure action of the Advanced page: Adjust the new step’s settings so that, if it fails due to the error thrown by the check (indicating the replica is not the primary), it quits reporting success. This change is necessary because the job isn’t supposed to be executed on non-primary replicas, and the “failure” is by design, not due to an actual error in job execution.
Note: Even though the job will quit reporting success every minute, the step itself will fail when running on the geo-secondary and the job history will contain entries like the ones shown below:
This is expected and monitoring may need to be adjusted accordingly to not alert in this specific step failure. During failover events, jobs may also fail due to the transient unavailability of the database and monitoring will need to be adjusted to contemplate these scenarios.
Configure the capture Job to start on step 1:Verify is primary replica. Move the new step Verify is primary replica to the top of the steps list, and configure the Start step to the be the new step. At this point, the steps of the capture job should look like this:
Repeat the same steps 4 through 6 above for the Cleanup Job. Remember to replace MyDB with your database name accordingly. The steps of the cleanup job should look like this:
Change the Retry attempts on the Change Data Capture Collection Agent to 0: This prevents the job from retrying after a failover, as the job’s continuation will be managed by the new primary replica. The change should look like this:
Add a new schedule to the capture job which attempts to start the job every minute. This is needed so that CDC begin capturing as soon as possible on the new primary replica after a failover event. Name it Start if primary replica. This new schedule should look like this:
Important note: If for any troubleshooting reason the capture job needs to be stopped for a certain amount of time, the way to accomplish it in the failover group will be to disable the Start if primary replica schedule in both primary and geo-secondary replicas by unchecking the Enabled box shown above. To resume CDC capture, enable the schedule again in both places.
Remove the original schedule named CDC Capture agent schedule to prevent the Capture Job from running when each replica starts.
At this point, the capture job schedules should look like this:
Script out both CDC jobs on the primary replica (Capture and Cleanup jobs) so they can be created on the geo-secondary later. This can be done by expanding the SQL Server Agent node in Object Explorer and scripting out the job as seen in the screenshot below:
Capture the content of cdc_jobs table on the primary to populate later the geo-secondary. Replace MyDB with your database name, execute the T-SQL code below on the primary replica, and copy and save for later the INSERT statement generated in the results:
DECLARE @Database NVARCHAR(255) = ‘MyDB’/*<<Your DATABASE NAME goes here*/
, @Fields NVARCHAR(200) = ‘[job_type], [job_id], [maxtrans], [maxscans], [continuous], [pollinginterval], [retention], [threshold]’
, @SQL NVARCHAR(1000);
SET @SQL = ‘SET NOCOUNT ON;
DECLARE @Insert VARCHAR(MAX);
SELECT @Insert = ISNULL(@Insert + ” UNION ”, ”INSERT INTO msdb.dbo.cdc_jobs([database_id], ‘
+ @Fields + ‘)”) + CHAR(13) + CHAR(10) + ”SELECT DB_ID(””’ + @Database + ””’),” + ‘
+ REPLACE(REPLACE(REPLACE(@Fields, ‘,’, ‘ + ”, ” + ‘), ‘[‘, ””””’ + CAST(‘),’]’,’ AS VARCHAR(max)) + ””””’)
+ ‘ FROM msdb.dbo.cdc_jobs WHERE database_id = DB_ID(”’ + @Database + ”’);
PRINT @Insert’;
EXEC sp_executesql @SQL;
Below is an example of executing the T-SQL code. Note the INSERT INTO statement under Messages:
Connect to the geo-secondary and run the following query to confirm CDC has been enabled on the geo-secondary as well. The column is_cdc_enabled should be 1 for your database:
SELECT name, is_cdc_enabled FROM sys.databases;
Create both the CDC SQL Agent jobs on the geo-secondary using the scripts generated on the primary replica previously in step 11. Connect to the geo-secondary replica and:
Run the script to create the capture job.
Run the script to create the cleanup job.
Verify both jobs are listed under SQL Server Agent – Jobs in SSMS.
Note: If you ever remove CDC from these failover group replicas, do it on the primary replica and delete the two jobs manually on the geo-secondary since sp_cdc_disable_db will not remove the jobs on the geo-secondary replica.
Create the cdc_jobs table in the geo-secondary MSDB database. Execute the following T-SQL code, replacing MyDB with your actual database name to create this table on the geo-secondary:
USE [msdb]
GO
CREATE TABLE [dbo].[cdc_jobs] (
[database_id] [int] NOT NULL
, [job_type] [nvarchar](20) NOT NULL
, [job_id] [uniqueidentifier] NULL
, [maxtrans] [int] NULL
, [maxscans] [int] NULL
, [continuous] [bit] NULL
, [pollinginterval] [bigint] NULL
, [retention] [bigint] NULL
, [threshold] [bigint] NULL
, PRIMARY KEY CLUSTERED ([database_id] ASC, [job_type] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]) ON [PRIMARY];
Insert in the cdc_jobs table on the geo-secondary the data captured on the primary. Execute the INSERT statement captured in the results of step 12 on the MSDB database of the geo-secondary and verify that the cdc_jobs table content is the same on both replicas. An example of the content of the cdc_jobs table after inserting the rows can be seen below.
Update the cdc_jobs table in the MSDB on the geo-secondary to reflect the correct job IDs. Run the following T-SQL code on the geo-secondary to update cdc_jobs table so it contains the job identifications of the jobs on the geo-secondary instead of the primary. Remember to replace MyDB with your actual database name:
UPDATE c
SET c.job_id = s.job_id
FROM msdb.dbo.sysjobs s
JOIN msdb.dbo.cdc_jobs c
ON s.name = ‘cdc.’ + DB_NAME(c.database_id) + ‘_’ + c.job_type
WHERE DB_NAME(c.database_id) = ‘MyDB’;
Create the cdc_jobs_view system view in the MSDB database on the geo-secondary which is required by the CDC SQL Agent Jobs:
USE [msdb]
GO
CREATE VIEW dbo.cdc_jobs_view AS
SELECT
[database_id],
[job_type],
[job_id],
[maxtrans],
[maxscans],
[continuous],
[pollinginterval],
[retention],
[threshold]
FROM dbo.cdc_jobs;
All configurations have been completed to configure CDC for SQL Managed Instance Failover Group. After every geo failover, CDC will resume capturing within the next minute on the new primary replica. The data changes are still logged in the transaction log as usual so there is no data capture loss.
This content includes materials and contributions from Yvonne Vanslageren.
Feedback and suggestions
If you have feedback or suggestions for improving this data migration asset, please contact the Azure Databases SQL Customer Success Engineering Team. Thanks for your support!
Microsoft Tech Community – Latest Blogs –Read More
Long scripts in thingspeak.
I use Thingspeak scripts which run in Matlab analysis are geting quite long. is there a way to have functions in one Matlab analysis called by another Matlab analysis?
thanks in advanceI use Thingspeak scripts which run in Matlab analysis are geting quite long. is there a way to have functions in one Matlab analysis called by another Matlab analysis?
thanks in advance I use Thingspeak scripts which run in Matlab analysis are geting quite long. is there a way to have functions in one Matlab analysis called by another Matlab analysis?
thanks in advance long scripts, thingspeak analysis, matlab analysis MATLAB Answers — New Questions
Interpolate y and y using a 3D vector with similar length
Hello, I have a a matrix with 3 coordinates (each column) x, y, and z. Each column has the same length. I would like to interpolate a especific coordinate xi and yi to obtain zi using the main matriz. Besides, I would like to generate a surface plot using the codinates x,y and z. I know that z should be a matrix mxn in order to do that based on the number of elements m and n according to x and y, respectively. It is worth mentioning that x, y and z are longitude, latitude and depth respectively. I would appreciate the help.Hello, I have a a matrix with 3 coordinates (each column) x, y, and z. Each column has the same length. I would like to interpolate a especific coordinate xi and yi to obtain zi using the main matriz. Besides, I would like to generate a surface plot using the codinates x,y and z. I know that z should be a matrix mxn in order to do that based on the number of elements m and n according to x and y, respectively. It is worth mentioning that x, y and z are longitude, latitude and depth respectively. I would appreciate the help. Hello, I have a a matrix with 3 coordinates (each column) x, y, and z. Each column has the same length. I would like to interpolate a especific coordinate xi and yi to obtain zi using the main matriz. Besides, I would like to generate a surface plot using the codinates x,y and z. I know that z should be a matrix mxn in order to do that based on the number of elements m and n according to x and y, respectively. It is worth mentioning that x, y and z are longitude, latitude and depth respectively. I would appreciate the help. interpolate 3d vector using x and y MATLAB Answers — New Questions
Rand in the constructor of a class and createArray
I’m attempting to use createArray to create an array of a class. The class constructor sets a property using rand. When I use createArray, every object in the array gets the same value of that property. Is there a workaround?I’m attempting to use createArray to create an array of a class. The class constructor sets a property using rand. When I use createArray, every object in the array gets the same value of that property. Is there a workaround? I’m attempting to use createArray to create an array of a class. The class constructor sets a property using rand. When I use createArray, every object in the array gets the same value of that property. Is there a workaround? createarray, random MATLAB Answers — New Questions
inputParser not supported by MATLAB Coder
I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround?I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround? I started to get into the habit of using inputParser to manage construction options to MATLAB classes I create. It just seems like the cleanest, most future-proof way to go about doing it. Now, I just hit a very annoying brick wall. I wanted to run one of these through MATLAB Coder to make a C++ version to at least serve as a template for a bit of production code. BOOM! MATLAB Coder doesn’t like functions/classes that use inputParser. Is there anyone who’s found a good workaround? inputparser MATLAB Answers — New Questions
I am trying to find the difference in two columns on my csv file to plot them and my current code isnt working.
I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off;I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off; I have a code that intakes all of my participants per there csv file and outputs there data by the objects they have seen however I cannot code the difference between the known midpoint of the object versus what they have answered. Am I overlooking something? I did change some of the info to keep more discreet sorry. Thank you to anyone who helps!
% Select CSV file and read data
[filename, path] = uigetfile(‘*.csv’, ‘Select The CSV to View Subject Data’);
myCSV = readtable(fullfile(path, filename));
% Define the column indices for KeyPressCount and ResponseTime
Midpoint = 60;
Final_Answered_Midpoint = 76;
%Assigning condition names by category {row, column}
ConditionNames{1,1} = ‘1’;
ConditionNames{2,1} = ‘2’;
ConditionNames{3,1} = ‘3’;
ConditionNames{4,1} = ‘4’;
ConditionNames{5,1} = ‘5’;
ConditionNames{6,1} = ‘6’;
ConditionNames{7,1} = ‘7’;
ConditionNames{8,1} = ‘8’;
ConditionNames{9,1} = ‘9’;
ConditionNames{10,1} = ’10’;
ConditionNames{11,1} = ’11’;
ConditionNames{12,1} = ’12’;
NbrCond = size(ConditionNames,1);
%Difference between midpoint and final slider position that was answered
difference = myCSV{:,76} – myCSV{:,60};
%Creating a loop that through each of the Categories (ConditionNames) in column 1 of myCSV and
%reports the row indices every time each category is found
for condi = 1:NbrCond
ConditionIndex(condi).RowIndices = [];
Indices = strfind(table2array(myCSV(:,1)), ConditionNames{condi,1}); %Strfind the current (condi) condition in the array
counter = 0;
for j = 1:size(Indices,1)
if ~isempty(Indices{j,1})
counter = counter + 1;
ConditionIndex(condi).RowIndices(counter) = j;
end
end
end
%Loops over each category (ConditionNames) in CSV to find data (ex:
%KeyPressCount) and stores it in AllData
for condi = 1:NbrCond
ConditionInstances = size(ConditionIndex(condi).RowIndices,2);
counter = 0;
for Condi_instance_i = 1:ConditionInstances
CurrentRowIndex = ConditionIndex(condi).RowIndices(Condi_instance_i);
counter = counter + 1;
%AllData(condi).Category(counter,1) = final_slider_position_pix-Midpoint;
AllData(condi).Category(counter,1) = myCSV{CurrentRowIndex, difference};
end
end
% Calculating Averages, Standard Deviations, and Standard Errors and
% storing them in AllData by Category (Row)
for condi = 1:NbrCond
AllData(condi).Mean = mean(AllData(condi).Category);
AllData(condi).StdDev = std(AllData(condi).Category);
AllData(condi).StdErr = AllData(condi).StdDev / sqrt(size(AllData(condi).Category, 1));
end
CategoryAvgs = cellfun(@(x) mean(x), {AllData(:).Category});
CategoryStdDevs = cellfun(@(x) std(x), {AllData(:).Category});
CategoryStdErrs = CategoryStdDevs ./ sqrt(cellfun(@numel, {AllData(:).Category}));
%Creating variable to store all of the means and standarderrors for
%plotting purposes
Means = [AllData.Mean];
StdErrs = [AllData.StdErr];
%Creating a figure to summarize results
figure;
bar([AllData.Mean]);
hold on;
errorbar(1:NbrCond, CategoryAvgs, CategoryStdErrs, ‘.k’);
ylim([-10 25])
xlabel(‘Tools’);
ylabel(‘Difference’);
% Set x-axis labels (goes in order of AllData.Mean)
xticklabels({‘1’, ‘2’, ‘3’, ‘4’, …
‘5’, ‘6’, ‘7’, ‘8’, …
‘9’, ’10’, ’11’, ’12’});
xtickangle(45)
hold off; difference MATLAB Answers — New Questions
Hᴏᴡ Dᴏ I Cʀᴇᴀᴛᴇ ᴀɴᴅ Sᴇɴᴅ ᴀɴ Aᴄᴄᴏᴜɴᴛᴀɴᴛ’s Cᴏᴘʏ ɪɴ Qᴜɪᴄᴋ_B000ᴋs﹖
To create and send an Accountant’s Copy in Qᴜɪᴄᴋ_B000ᴋs, follow these steps:
Open Qᴜɪᴄᴋ_B000ᴋs: Go to the “File” menu.Select Accountant’s Copy: Choose “Send Company File” then “Accountant’s Copy.”Set Dividing Date: Choose a dividing date and click “Next.”Send via Accountant’s Copy File Transfer (ACFT): Follow the prompts to enter your accountant’s email address and send the file directly.Alternatively, Save Locally: Save the file locally and send it via email or other means.
For further assistance, consult Qᴜɪᴄᴋ_B000ᴋs support.
To create and send an Accountant’s Copy in Qᴜɪᴄᴋ_B000ᴋs, follow these steps:Open Qᴜɪᴄᴋ_B000ᴋs: Go to the “File” menu.Select Accountant’s Copy: Choose “Send Company File” then “Accountant’s Copy.”Set Dividing Date: Choose a dividing date and click “Next.”Send via Accountant’s Copy File Transfer (ACFT): Follow the prompts to enter your accountant’s email address and send the file directly.Alternatively, Save Locally: Save the file locally and send it via email or other means.For further assistance, consult Qᴜɪᴄᴋ_B000ᴋs support. Read More
How to prevent video from being cropped in a Teams recording?
Recently we recorded a video of a meeting. The meeting was hybrid where 4 of the main presenters were seated in the front of the room. We positioned the camera to have all 4 presenters in view. The output was correctly displayed in the room and on a separate laptop (all 4 presenters could be seen at all times). Upon reviewing the recording, only 1.5 of the presenters were visible, even when one of the other presenters was speaking.
It seems that the “Fill frame” feature enabled itself for the recording, despite the person who recorded the meeting verifying that the “Fit to frame” option was selected on his device before recording.
Is there a way to prevent videos from being automatically cropped in recordings?
Recently we recorded a video of a meeting. The meeting was hybrid where 4 of the main presenters were seated in the front of the room. We positioned the camera to have all 4 presenters in view. The output was correctly displayed in the room and on a separate laptop (all 4 presenters could be seen at all times). Upon reviewing the recording, only 1.5 of the presenters were visible, even when one of the other presenters was speaking. It seems that the “Fill frame” feature enabled itself for the recording, despite the person who recorded the meeting verifying that the “Fit to frame” option was selected on his device before recording. Is there a way to prevent videos from being automatically cropped in recordings? Read More
How to Restore a QᴜɪᴄᴋBᴏᴏᴋs Portable Company File: Step-by-Step Guide
Restoring a QᴜɪᴄᴋBᴏᴏᴋs portable company file is a streamlined process that ensures your data is efficiently imported into QᴜɪᴄᴋBᴏᴏᴋs Desktop. Begin by launching QᴜɪᴄᴋBᴏᴏᴋs and selecting “File” from the menu. Next, choose “Open or Restore Company” and opt for “Restore a portable file (.QBM).” Locate the .QBM file on your computer that you wish to restore and click “Open.” QᴜɪᴄᴋBᴏᴏᴋs will prompt you to select a destination folder for the restored company file; choose an appropriate location and click “Save.” Follow any additional on-screen instructions to finalize the restoration process. Once completed, your QᴜɪᴄᴋBᴏᴏᴋs portable company file will be restored, allowing you to resume working with your financial data seamlessly. This method is ideal for transferring files between different QᴜɪᴄᴋBᴏᴏᴋs installations or for creating backups that can be easily transported or shared.
Restoring a QᴜɪᴄᴋBᴏᴏᴋs portable company file is a streamlined process that ensures your data is efficiently imported into QᴜɪᴄᴋBᴏᴏᴋs Desktop. Begin by launching QᴜɪᴄᴋBᴏᴏᴋs and selecting “File” from the menu. Next, choose “Open or Restore Company” and opt for “Restore a portable file (.QBM).” Locate the .QBM file on your computer that you wish to restore and click “Open.” QᴜɪᴄᴋBᴏᴏᴋs will prompt you to select a destination folder for the restored company file; choose an appropriate location and click “Save.” Follow any additional on-screen instructions to finalize the restoration process. Once completed, your QᴜɪᴄᴋBᴏᴏᴋs portable company file will be restored, allowing you to resume working with your financial data seamlessly. This method is ideal for transferring files between different QᴜɪᴄᴋBᴏᴏᴋs installations or for creating backups that can be easily transported or shared. Read More