Creating data-driven graphics
This question was posted in response to the following article: http://help.adobe.com/en_US/photoshop/cs/using/WSfd1234e1c4b69f30ea53e41001031ab64-7417a.h tml
I am not sure I can understand what exactly is going on. Maybe solution is to change Pixel Replacement Method to As Is if you have images you want to use for replacement at exact size. Another replacement method is Fill which will scale up or down image with constraining original proportions until both sides fills available space what can result that one side of image extends beyond boundaries of available space on layer to which is assigned variable. Fit method will scale images up or down with constrain original proportions until both sides of image fits into available space (in other words every part of image must be visible inside available space) what ussualy results with image for replacement to be smaller (this depend on difference in proportions of layer with variable and replacement image). Fourth method is Conform which can distort images, it will scale images to fill space without to constrain original proportions.
See screenshots which points where to click to change pixel replacement method.
Message was edited by: Bojan Živković
Message was edited by: Bojan Živković
Message was edited by: Bojan Živković
Similar Messages
-
I'm trying to use the data-driven graphics wizard for a card
game some friends and I are creating. Each card has 9 text
variables and 2 image variables. When I run the wizard, it finds
all the variables just fine, but after properly processing one
variable (actually, we've gotten both images to load, but it dies
after one text), it stops, saves the file as is, and tells us:
An error occurred.
An error occurred.
or
An error occured.
Incorrect parameter.
...Useful stuff huh? Here's the source if anyone wants to try
this and investigate the mystery of the crashing graphics wizard:
template:
http://www.freewebtown.com/PhireNexus/ImpRome/template.png
xml:
http://www.freewebtown.com/PhireNexus/ImpRome/cards.xml
We noticed that on the variable-pairing screen, there's an
extra blank variable (it just is blank, no name, but it does exist)
on the xml side. Otherwise, this whole thing is irregularity-free.
Very frustrating stuff.
-----edit-----
Apparently having symbols in the template was causing the
error. Who knows why...I'm trying to use the data-driven graphics wizard for a card
game some friends and I are creating. Each card has 9 text
variables and 2 image variables. When I run the wizard, it finds
all the variables just fine, but after properly processing one
variable (actually, we've gotten both images to load, but it dies
after one text), it stops, saves the file as is, and tells us:
An error occurred.
An error occurred.
or
An error occured.
Incorrect parameter.
...Useful stuff huh? Here's the source if anyone wants to try
this and investigate the mystery of the crashing graphics wizard:
template:
http://www.freewebtown.com/PhireNexus/ImpRome/template.png
xml:
http://www.freewebtown.com/PhireNexus/ImpRome/cards.xml
We noticed that on the variable-pairing screen, there's an
extra blank variable (it just is blank, no name, but it does exist)
on the xml side. Otherwise, this whole thing is irregularity-free.
Very frustrating stuff.
-----edit-----
Apparently having symbols in the template was causing the
error. Who knows why... -
Data driven graphics in CS4?
Hi guys, i recently upgraded to CS4 (been on V.8!)
What is the equivalent to the old data driven graphics wizard by joseph lowery - this command was soooo useful!
I have a feeling that there's something much more complicated to learn to get the same effect - i.e. drawing data from an xml file and creating a set of images / pages / pdfs based upon the data set.
any tips much appreciatedIt seems as if the output has an ASCII order. Perhaps a prefix on the template layers will help.
-
Deleting extra layers generated by data-driven graphics?
I have about 1600 PSD files that I generated using data-driven graphics. They each contain one pixel layer and eleven text layers.
The number of text layers with actual content varies. My original set of data looked something like the following in Excel:
001.jpg A B C
002.jpg A D E F
003.jpg B G
004.jpg A C G H I J K
005.jpg F L M
And so on. All files have content in at least two text layers, some have all eleven with content.
I discovered right away that Photoshop would not import a data set with blank fields for some text layers, there must be actual text for each text variable. So my Excel VBA script (where I combined spreadsheets to create my data set file) added a period to each otherwise empty cell.
This made my data set look like:
001.jpg A B C . . . .
002.jpg A D E F . . .
003.jpg B G . . . . .
004.jpg A C G H I J K
005.jpg F L M . . . .
Photoshop was then happy, imported the data set, and created a folder full of graphics. However, I'm now left with a bunch of files that have a bunch of dots on them. I'm looking for a way (script or macro?) to delete these extra text layers.
Ideally this script could batch process a folder full of files, parsing each text layer and deleting the ones with just a period character.
I'm also fine with regenerating the files if there is a way to not create the unneeded text layers in the first place. I thought about using a visibility variable but the layers would still be there, just hidden. I'm not sure how much that helps me.
I'm a Mac guy but stuck using Windows 7 Pro at work. I have the latest version of Photoshop CC, and some experience with C-like programming languages, so I can handle simple VB or JavaScript hacking if needed.
Any ideas or suggestions or sample code? TIA for the help.Well since nobody had ideas, I spent some time with the PS scripting documentation. I was also able to find a sample script linked from John Nack's blog to start with. This is actually pretty simple, although switching back and forth from VB to JS is a pain (= in VB, == in JS as an example.)
Presumably this could test for different conditions such as font, or could use a regular expression to find specific text.
main();
function main() {
if ( app.documents.length > 0 )
removeExtraTextLayers(app.activeDocument);
//start at index (length-1) to avoid background layer, top layer is index 0
function removeExtraTextLayers(obj){
for( var i = obj.artLayers.length-1; 0 <= i; i--) {
try {
if (obj.artLayers[i].kind == LayerKind.TEXT && obj.artLayers[i].textItem.contents == ".")
obj.artLayers[i].remove();
catch (e) { -
Question on Data Driven Graphics (non-English)
I am trying Data Driven Graphics with Illustrator CS4 on Win.
The program works fine with English XML data, however when I try other non-English language, Illustrator cannot show characters like é,è,ë.
The data is in XML UTF-8 encoding.
Anyone could help?
Thanks,
Wallace428I am trying Data Driven Graphics with Illustrator CS4 on Win.
The program works fine with English XML data, however when I try other non-English language, Illustrator cannot show characters like é,è,ë.
The data is in XML UTF-8 encoding.
Anyone could help?
Thanks,
Wallace428 -
(CS5-MAC) Data Merge and Data Driven Graphics
Apologies in advance if this is slightly off topic, but I need some opinions and insight here.
I've been using InDesign since its creation and have recently been pushing the Data Merge feature of ID to its limits. My colecandoo blog highlights some of what I have achieved.
However, there are some things which the Data Merge cannot do, such as warping live text which can be done in Photoshop or Illustrator. But, I've recently learnt of the term "Data Driven Graphics" and that Photoshop and Illustrator handle both. Photoshop accepts txt/csv files and appears to be relatively workable, whereas Illustrator accepts XML which I can't get to work at all and it is frustrating me.
So here are my questions. I know the answer to some of these will most likely be "no" but if i don't ask, i'll never find out.
is there a way to integrate the Data Merge feature of InDesign with the data driven graphics feature of illustrator or photoshop WITHOUT scripting (e.g. something I may have missed)?
If scripting is the only option, is anyone out there actually doing what i'm trying to do, or know of any resources out there that i can look at?
is there a way to make the user unfriendly DDG feature in illustrator actually reference a txt/csv file rather than an XML file? Because I'm working on a Mac, making XML from excel is like putting marshmallows in a piggy bank (e.g. messy and ineffective).
what kind of images can InDesign's Data Merge reference? does it extend to other indesign files or incopy files?
I know there are third party products which can do the above (e.g. XMPie or DirectSmile), but i'm trying to get as much value as i can from the Creative Suite purely off-the-shelf.
here's hoping
colly>Because I'm working on a Mac, making XML from excel is like putting marshmallows in a piggy bank (e.g. messy and ineffective).
It should be easy, shouldn't it? I found that running the Excel file through Filemaker made valid XML files easily. Import worksheet, export records as XML.
Can't help you with the rest of it. -
Fireworks CS6 Data Driven Graphics Wizard
Does anyone have a solution for Data Driven Graphics Wizard not working in fireworks? It did work at one point in CS6 however after some updates it will no longer merge any text. Maybe I am doing something wrong but I don't believe so as I am using all of the same files that I had previously merged.
Ask in the FW forum. I haven't used it since version 3 or so...
Mylenium -
Creating Data Driven Subscription does not allow me to get Auto copy from Query.
I am trying to create a data driven Subscription for sharepoint document Library. I have a table I populate with values. Then a stored procedure that exec and returns the values. I use this in my data driven subscription.
Here is what my table looks like
intSubscriptionID strSubscriptionName strFileName strPath strRenderFormat strWriteMode strFileExt strTitle strAutoCopy strUserName strPassword strVar1 strVar2 strVar3 strVar4 strVar5 strVar6 strVar7 strVar8 strVar9 strVar10 bitEnabled
400 Billing - Invoice_ParentChildRollup 19_Jan2015 http://eagleviewportal/BusinessIntelligenceCenter/AccountingBI/Reports/New Excel Overwrite True Invoice_ParentChildRollup False NULL NULL 0000019 NULL NULL NULL NULL NULL NULL NULL NULL NULL 1
401 Test Daily Order and Pending Status by SubAccount Test Daily Order and Pending Status by SubAccount http://eagleviewportal/BusinessIntelligenceCenter/ClientRelationsBI/Reports/New Excel Overwrite True Test
Daily Order and Pending Status by SubAccount True NULL NULL 152884 NULL NULL NULL NULL NULL NULL NULL NULL NULL 1
I can use all the values and it creates my subscription no problem as long as I do not try to use the autocopy.
If I select Use no Value all works great.
If I select Specify a static Value and then choose True it gives me an error The AutoCopy Delivery setting cannot be set to True if the WriteMode Delivery setting is not set to Overwrite. as you can see that value is set to overwrite. If I use
hard coded word OverWrite instead of getting it from query it works.
If I do the same step above but select False it seems to work as well.
If I try to choose the value from the query then it errors with the generic Sorry Something went wrong. I cannot find any value in url logs.
Ken CraigHi Ken,
I have reproduced the same issue as you encountered. If you choose both value for the fields(WriteMode and AutoCopy) from query, SharePoint will result in an error page. I finally fixed the issue by manually updating the table
dbo.Subscriptions from the reporting service database. To make this, please first copy the value of field
ExtensionSettings from the subscription table.
Change the WRITEMODE and AUTOCOPY from "<ParameterValue><Name>WRITEMODE</Name><Value>Overwrite</Value></ParameterValue> <ParameterValue><Name>AUTOCOPY</Name><Value>AutoCopy</Value></ParameterValue>"
to "<ParameterValue><Name>WRITEMODE</Name><Field>strWriteMode</Field></ParameterValue> <ParameterValue><Name>AUTOCOPY</Name><Field>strAutoCopy</Field></ParameterValue>".
Here Value means the static value, and field means the name of the query field. After you modify it, copy the settings back to field
ExtensionSettings or use update SQL to update it.
At last, your data driven subscription should be like this:
Thanks,
Reken Liu -
CS5 - Can't find Data Driven Graphic Wizard
I just move to CS5 from CS3, is that the DDGW function being cancelled? cause I can't find it from the menu bar and the offline help manual.
ThanksHello!,
I just wanted to share with you all that today I needed that data-driven merge wizard. I'm using CS4. The Extension Manager showed it activated but it was not ( I didn't appear under the Commands menu). I unchecked the activation checkmark. Then I closed fireworks and the extension manager. I launched Extension Manager again, enabling the data-driven merge wizard, and now Fireworks shows it under the Command menu. -
Data driven graphics - output not in layer order(with files added)
Hi All
I am using CS3 Fireworks, making numbers on small icon button with different text and graphics.
xml table is prepared.
I made a Fireworks template file with text/image variables in single layer, order as below:
Top
Text var.(button name)
image var.(icon graphic)
image var.(button background graphic)
then run the wizard and the output becomes:
Top
image var.(button background graphic)
Text var.(button name)
image var.(icon graphic)
The swop image include auto shape vector graphics, bitmap(PNG),
I tried using vectors with live filter but doesn't work, so flattened to bitmap(PNG)
is there any method to keep the output as preferred orders? Please help.It seems as if the output has an ASCII order. Perhaps a prefix on the template layers will help.
-
How do I create data-driven linkbuttons whose visibility is controlled from the front end?
I've made a component based on a mx:TitleWindow that contains linkbuttons that I'm using as a context-menu.
The TitleWindow component contains link buttons like this:
[Bindable]
private var _showEmailThis:Boolean = false;
[Bindable]
private var _showApproveThis:Boolean = false;
[Bindable]
private var _showReviewThis:Boolean = false;
<mx:LinkButton id="lnkEmailThis"
visible="{_showEmailThis}"
includeInLayout="{_showEmailThis}"
click="lnkEmailThis_click()"
label="Email this!" />
<mx:LinkButton id="lnkApproveThis"
visible="{_showApproveThis}"
includeInLayout="{_showApproveThis}"
click="lnkApproveThis_click()"
label="Approve this!" />
<mx:LinkButton id="lnkReviewThis"
visible="{_showReviewThis}"
includeInLayout="{_showReviewThis}"
click="lnkReviewThis_click()"
label="Review this!" />
This component contains a large number of links and is re-used by multiple modules in the same application.
Within each module, this component is used when a user clicks on a row in a datagrid.
The code looks like this:
In "Requests" module:
private function dgRequests_click(event:MouseEvent):void
menu.showApproveThis = true;
menu.showReviewThis = true;
In "Performance" module:
private function dgPerformance_click(event:MouseEvent):void
menu.showEmailThis = true;
menu.showReviewThis = true;
As you can see, the visibility of individual linkbuttons is controlled within each module by setting boolean properties.
If I alter this component to use a renderer, how can I control the visibility of the linkbuttons from the code in each module (there are over a hundred links with different functionality - not every link will be used in each module)? Note: it is not known from the back-end which grid within which module uses which link. This is set in the front end within each module's actionscript file.
e.g., if the XML looks like this:
<links>
<link>
<label>Email This</label>
<visible>_showEmailThis</visible>
</link>
<link>
<label>Approve This</label>
<visible>_showApproveThis</visible>
</link>
<link>
<label>Review This</label>
<visible>_showReviewThis</visible>
</link>
</links>
and I set the Email link to show in the module like this:
private function dgPerformance_click(event:MouseEvent):void
menu.showEmailThis = true;
How do I make it take effect? Is there a way to control the visibility of a linkbutton within an item renderer in a component from the module that uses that component? Is there something like reflection in the Flex framework?Put a single frame sequence structure around your stop button and then wire from the error cluster going into the error handler to the edge of the sequence structure. Now your code will stop at the end of the current iteration. To see why this works, watch you code execute with execution highlighting turned on and review the section of the manual talking about "Dataflow".
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Introduction
In SQL Server Reporting Services, we can define a mapping between the fields that are returned in the query to specific delivery options and to report parameters in a data-driven subscription.
For a report with a parameter (such as YEAR) that allow multiple values, when creating a data-driven subscription, how can we pass a record like below to show correct data (data for year 2012, 2013 and 2014).
EmailAddress Parameter
Comment
[email protected] 2012,2013,2014 NULL
In this article, I will demonstrate how to configure a Data Driven Subscription which get multi-value parameters from one column of a database table
Workaround
Generally, if we pass the “Parameter” column to report directly in the step 5 when creating data-driven subscription.
The value “2012,2013,2014” will be regarded as a single value, Reporting Services will use “2012,2013,2014” to filter data. However, there are no any records that YEAR filed equal to “2012,2013,2014”, and we will get an error when the subscription executed
on the log. (C:\Program Files\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\LogFiles)
Microsoft.ReportingServices.Diagnostics.Utilities.InvalidReportParameterException: Default value or value provided for the report parameter 'Name' is not a valid value.
This means that there is no such a value on parameter’s available value list, this is an invalid parameter value. If we change the parameter records like below.
EmailAddress Parameter Comment
[email protected] 2012 NULL
[email protected] 2013 NULL
[email protected] 2014 NULL
In this case, Reporting Services will generate 3 reports for one data-driven subscription. Each report for only one year which cannot fit the requirement obviously.
Currently, there is no a solution to solve this issue. The workaround for it is that create two report, one is used for view report for end users, another one is used for create data-driven subscription.
On the report that used create data-driven subscription, uncheck “Allow multiple values” option for the parameter, do not specify and available values and default values for this parameter. Then change the Filter
From
Expression:[ParameterName]
Operator :In
Value :[@ParameterName]
To
Expression:[ParameterName]
Operator :In
Value :Split(Parameters!ParameterName.Value,",")
In this case, we can specify a value like "2012,2013,2014" from database to the data-driven subscription.
Applies to
Microsoft SQL Server 2005
Microsoft SQL Server 2008
Microsoft SQL Server 2008 R2
Microsoft SQL Server 2012
Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.For every Auftrag, there are multiple Position entries.
Rest of the blocks don't seems to have any relation.
So you can check this code to see how internal table lt_str is built whose first 3 fields have data contained in Auftrag, and next 3 fields have Position data. The structure is flat, assuming that every Position record is related to preceding Auftrag.
Try out this snippet.
DATA lt_data TYPE TABLE OF string.
DATA lv_data TYPE string.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = 'C:\temp\test.txt'
CHANGING
data_tab = lt_data
EXCEPTIONS
OTHERS = 19.
CHECK sy-subrc EQ 0.
TYPES:
BEGIN OF ty_str,
a1 TYPE string,
a2 TYPE string,
a3 TYPE string,
p1 TYPE string,
p2 TYPE string,
p3 TYPE string,
END OF ty_str.
DATA: lt_str TYPE TABLE OF ty_str,
ls_str TYPE ty_str,
lv_block TYPE string,
lv_flag TYPE boolean.
LOOP AT lt_data INTO lv_data.
CASE lv_data.
WHEN '[Version]' OR '[StdSatz]' OR '[Arbeitstag]' OR '[Pecunia]'
OR '[Mita]' OR '[Kunde]' OR '[Auftrag]' OR '[Position]'.
lv_block = lv_data.
lv_flag = abap_false.
WHEN OTHERS.
lv_flag = abap_true.
ENDCASE.
CHECK lv_flag EQ abap_true.
CASE lv_block.
WHEN '[Auftrag]'.
SPLIT lv_data AT ';' INTO ls_str-a1 ls_str-a2 ls_str-a3.
WHEN '[Position]'.
SPLIT lv_data AT ';' INTO ls_str-p1 ls_str-p2 ls_str-p3.
APPEND ls_str TO lt_str.
ENDCASE.
ENDLOOP. -
I am getting the following error "System.Web.Services.Protocols.SoapException: The required field Field is missing from the input structure. ---> Microsoft.ReportingServices.Diagnostics.Utilities.MissingElementException: The required field Field
is missing from the input structure.
at Microsoft.ReportingServices.WebServer.ReportingService2005Impl.CreateSubscription(String Report, ExtensionSettings ExtensionSettings, Boolean isDataDriven, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData,
ParameterValueOrFieldReference[] Parameters, String& SubscriptionID)
at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateDataDrivenSubscription(String Report, ExtensionSettings ExtensionSettings, DataRetrievalPlan DataRetrievalPlan, String Description, String EventType, String MatchData, ParameterValueOrFieldReference[]
Parameters, String& SubscriptionID)".
Below is the code i used .
ReportingService2005 rs = new ReportingService2005();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
//the name of the report for which the DDS is to be created
string report = "/testDataDriven/Report1";
string description = "Programmatic Data Driven Subscription for Windows File Share";
//set extension as Windows File Share
ExtensionSettings settings = new ExtensionSettings();
settings.Extension = "Report Server Email";
// Set the extension parameter values.
ParameterValueOrFieldReference[] extensionParams =
new ParameterValueOrFieldReference[8];
ParameterFieldReference to = new ParameterFieldReference(); // Data-driven.
to.ParameterName = "TO";
to.FieldAlias = "EmailAddress";
extensionParams[0] = to;
ParameterValue replyTo = new ParameterValue();
replyTo.Name = "ReplyTo";
replyTo.Value = "[email protected]";
extensionParams[1] = replyTo;
ParameterValue includeReport = new ParameterValue();
includeReport.Name = "IncludeReport";
includeReport.Value = "False";
extensionParams[2] = includeReport;
ParameterValue renderFormat = new ParameterValue();
renderFormat.Name = "RenderFormat";
renderFormat.Value = "HTML4.0";
extensionParams[3] = renderFormat;
ParameterValue priority = new ParameterValue();
priority.Name = "Priority";
priority.Value = "NORMAL";
extensionParams[4] = priority;
ParameterValue subject = new ParameterValue();
subject.Name = "Subject";
subject.Value = "Your sales report";
extensionParams[5] = subject;
ParameterValue comment = new ParameterValue();
comment.Name = "Comment";
comment.Value = "Here is the link to your report.";
extensionParams[6] = comment;
ParameterValue includeLink = new ParameterValue();
includeLink.Name = "IncludeLink";
includeLink.Value = "True";
extensionParams[7] = includeLink;
settings.ParameterValues = extensionParams;
DataSource delivery = new DataSource();
delivery.Name = "";
DataSourceDefinition dataSourceDef = new DataSourceDefinition();
dataSourceDef.ConnectString = "my credentials";
dataSourceDef.CredentialRetrieval = CredentialRetrievalEnum.Store;
dataSourceDef.Enabled = true;
dataSourceDef.EnabledSpecified = true;
dataSourceDef.Extension = "ORACLE";
dataSourceDef.WindowsCredentials = false;
dataSourceDef.ImpersonateUser = false;
dataSourceDef.UserName = "";
dataSourceDef.Password = "";
delivery.Item = dataSourceDef;
//we will have to declare the list of parameter(s) the report requires
//in this report there is only one parameter named “Sales Order Number”
//create fields list which is comprising of only one field in this report
Field[] fieldlist = new Field[2];
fieldlist[0] = new Field();
fieldlist[0].Name = "REF_MONTH";
fieldlist[0].Alias = "REF_MONTH";
fieldlist[1] = new Field();
fieldlist[1].Name = "MTSO_ID";
fieldlist[1].Alias = "MTSO_ID";
//create data set
DataSetDefinition dataSetDefinition = new DataSetDefinition();
dataSetDefinition.AccentSensitivitySpecified = false;
dataSetDefinition.CaseSensitivitySpecified = false;
dataSetDefinition.KanatypeSensitivitySpecified = false;
dataSetDefinition.WidthSensitivitySpecified = false;
dataSetDefinition.Fields = fieldlist;
QueryDefinition queryDefition = new QueryDefinition();
queryDefition.CommandText = "SELECT REF_MONTH FROM REFERRAL_TRN_DETAILS1";
queryDefition.CommandType = "Text";
queryDefition.Timeout = 1000;
queryDefition.TimeoutSpecified = true;
dataSetDefinition.Query = queryDefition;
DataSetDefinition results = new DataSetDefinition();
bool changed;
string[] paramNames;
results = rs.PrepareQuery(delivery, dataSetDefinition, out changed, out paramNames);
DataRetrievalPlan dataRetrieval = new DataRetrievalPlan();
dataRetrieval.DataSet = results;
dataRetrieval.Item = dataSourceDef;
// Set the event type and match data for the delivery.
string eventType = "TimedSubscription";
string matchData = @"<ScheduleDefinition>";
matchData += @"<StartDateTime>2003-04-14T19:15:00-07:00</StartDateTime><WeeklyRecurrence><WeeksInterval>1</WeeksInterval>";
matchData += @"<DaysOfWeek>";
matchData += @"<Monday>True</Monday><Tuesday>True</Tuesday><Wednesday>True</Wednesday><Thursday>True</Thursday><Friday>True</Friday>";
matchData += @"</DaysOfWeek></WeeklyRecurrence></ScheduleDefinition>";
// Set the report parameter values.
ParameterValueOrFieldReference[] parameters = new ParameterValueOrFieldReference[2];
ParameterFieldReference empID = new ParameterFieldReference(); // Data-driven.
empID.ParameterName = "val";
empID.FieldAlias = "REF_MONTH";
parameters[0] = empID;
ParameterValue reportYear = new ParameterValue();
reportYear.Name = "val";
reportYear.Value = "112013";
parameters[1] = reportYear;
string subscriptionID = rs.CreateDataDrivenSubscription
(report, settings, dataRetrieval, description, eventType, matchData, parameters);
i have one report parameter val, ineed to pass value from the query result.Hi Santosh,
According to your code, you are trying to create a data driven subscription with the code. As per my understanding, the issue can be caused by the FieldAlias does not exactly match a field in the dataset that is a part of the data retrieval plan, then the
error is thrown. Note that exactly match includes case and leading/trailing whitespace.
So please make sure the fields name are exactly matched in the code. The following blog posted by Gouri Sohoni is for your reference:
http://www.sqlservercurry.com/2009/07/programmatically-create-data-driven.html
Hope this helps.
Thanks,
Katherine Xiong
Katherine Xiong
TechNet Community Support -
Need to make data driven ssrs subscription?
spent hours on thickets this week
Mike Monday 2.00
Tuesday 2.00
Mark
Monday 3.00
Tuesday 4.00
Lucy
Monday 6.00
Tuesday 7.00
Hello how can I make a data driven subscription which go mike's info to mike only mark info to mark only like that is there any sample code vailable for situation like this sssrs data driven subscription?Hi MarkSubedi,
Based on your description, you can create an Data-Driven subscription and send email based on the different user you have selectted in the Parameter "UserName" in the report.Before create the data_driven subscription,
please make sure your SSRS edition will support it (Enterprise, Businness Intelligence), More Details:Features Supported by the Editions of SQL Server
Data-Driven subscription indeed can do this. A data-driven subscription can provides a way to use dynamic subscription data that is retrieved from an external data source at run time. It can deliver the report to different destinations,
each of which might receive a different render format of the report and a different set of parameter values on a recurring basis. You must also have a relational table that stores the mapping between destinations(e-mail address or a file share),report settings
and parameter values.
I have tested on my local environment and we can create an subcription delivery table to include an column for the User name and another column for the User related e-mail addresses.When you creating the Data-Driven subscription,you can configure
the subscription by provide the query to this table and assign the values in the query results to special settings in the subscription. Please find the Subcription delivery table you need to create and the steps of Data-Driven subscrition configuration of
using this table.
Subcription delivery table(when you want to modify UserName and e-mail address you can just modify this table but don’t need to do modification in the Data-Driven subscription):
CREATE TABLE TableName
(UserName nvarchar(50),
Mailto nvarchar(50))
INSERT INTO TableName
('Mike','[email protected]'),
('Mark','[email protected]'),
('Lucy','[email protected]'),
Details steps of Data-Driven subscrition configuration of using this table:
Specify a data source that contains the subscription delivery table which created like above.
Specify a command or query that return the list of the user name and the e-mail addresses and then click "Validate" button to make sure query validate successfully, click next.query that return the list of the user name and the e-main addresses
select * from TableName
Specify delivery extension settings for Report Server Email :in the dropdown list select the "Mailto" from TableName, click next.
Specify report parameter values for Report, Check as below and the e-mail will send based on each UserName, click next.
Specify when the subscription is processed by setting the schedule details, click Finish.
Below article for your reference about details steps of
Create Data-driven Subscription:Create Data-driven Subscription Page (Report Manager)
If you still have any question, please feel free to ask.
Regards
Vicky Liu
Vicky Liu
TechNet Community Support -
My MTM version is not allowing Data Driven Test Case UI to be created???
From in MTM I am able to use the UI Builder to create (R&P) a test case (standard login case) but when I then try to use the same process to create a Data Driven test case for login the screens to allow that feature are not showing up. I am using
the Ultimate package but is there something else I should be doing?Hi,
What do you mean the screens to allow that feature are not showing up?
In MTM, we could add parameters to a manual test case to run multiple times with different data.
More information, please refer to:
# Add Parameters to a Manual Test Case To Run Multiple Times with Different Data
https://msdn.microsoft.com/en-us/library/vstudio/dd997832(v=vs.110).aspx
Regards
Starain
We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
Click
HERE to participate the survey.
Maybe you are looking for
-
Movie doesn't fit the tv screen
Hi, i transfered a video from my camera wide screen to my laptop using iMovieHD6. Then, i shared it to iDVD6 and burnt a dvd using Best Quality encoding. When i play it on my tv, which is wide screen, the image is cut. Anyone can tell me what to do t
-
both touchpad and mouse are active even though the touchpad is disabled
-
How can I change the default file format in PSE 10?
I just upgraded from PSE 6 to PSE 10. In the former, the default file format when saving an edited image in the editor was psd. In 10, it is jpg. I prefer to save in psd, which means I have to select psd from the format drop-down menu for each save.
-
Agent installation on Solaris 10 x86 64
I'm stuck in the middle of installation, I've tried to perform installation in offline mode, I've reached to the point where I've downloaded successfully the agent software but when I try to do "emcli get_supported_platforms" I don't get the Solaris
-
E-Recruiting : Webdynpro in EHP3
Hi Guys, Can anyone let me know what is the technical name of the Webdynpro present in EHP3 with title "Application Wizard". Also this Webdynpro is ABAP Dynpro or JAVA dynpro. Or Is there any way to know which webdynpro is abap or java. Rgds Sandeep